Как отключить поддержку Android TV в моем приложении? Манифест жалуется на отсутствие LEANBACK_LAUNCHER

Я искал способ отключить поддержку Android TV из манифеста. Я знаю, что наше приложение несовместимо, и я читал, что даже когда вы стремитесь поддерживать Android TV, приложения все равно оказываются неподдерживаемыми.

Однако я не нашел способа остановить манифест от запроса INTENTBACK_LAUNCHER. Я не хочу определять одно, потому что знаю, что наше приложение несовместимо с телевизором.

Вот предупреждения, которые я получаю прямо сейчас:

Ожидается использование функции android: name = android.software.leanback android: required = false tag.

Ожидается, что у действия будет фильтр намерений android.intent.category.LEANBACK_LAUNCHER.

Аппаратная функция android.hardware.touchscreen явно не помечена как необязательная

Поэтому, когда я пытаюсь предоставить ожидаемые теги, даже если я говорю следующее:

использует-функцию android: name = android.hardware.touchscreen android: required = true

Он по-прежнему отправляет предупреждение о том, что он может поддерживаться не всеми телевизорами, что является не чем иным, как предупреждением, но действительно раздражает, потому что я сознательно не хочу поддерживать Android TV. И даже после того, как я все еще получаю предупреждение фильтра намерений LEANBACK_LAUNCHER.

Разве требование сенсорного экрана не избавило бы меня от манифеста, запрашивающего LEANBACK_LAUNCHER? Наверное, в некоторых телевизорах есть тачскрины?

Кто-нибудь знает, как явно отключить поддержку Android TV?

Спасибо,


person kriztho    schedule 16.11.2018    source источник
comment
У вас есть атрибут banner в элементе <application> в вашем манифесте?   -  person Mike M.    schedule 16.11.2018
comment
Нет. К сожалению, в элементе приложения нет атрибута баннера.   -  person kriztho    schedule 29.11.2018


Ответы (3)


Вы можете отключить проверку линта, добавив атрибут tools:ignore в свой манифест следующим образом:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.sampleapp"
    tools:ignore="ImpliedTouchscreenHardware,MissingLeanbackLauncher,MissingLeanbackSupport">
person user2019414    schedule 29.03.2019

Я застрял в этом, но я думаю, что это просто ошибка, которая не может распознать мое приложение, это не приложение для Android TV!

пока я добавляю эти строки в манифест и исправлено 2 из 3 предупреждений

<uses-feature android:name="android.software.leanback" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>

К сожалению, у меня пока нет решения для последнего предупреждения

Ожидается, что у действия будет фильтр намерений android.intent.category.LEANBACK_LAUNCHER.

Приложение, предназначенное для запуска на телевизионных устройствах, должно объявить действие средства запуска для телевизора в своем манифесте с помощью фильтра намерений android.intent.category.LEANBACK_LAUNCHER. Идентификатор проблемы: MissingLeanbackLauncher

Я могу добавить LEANBACK_LAUNCHER, но не хочу! потому что я хочу вообще отключить поддержку Android TV.

Если хотите, создайте Activity и добавьте эти строки в манифест

  <activity
    android:name="com.example.android.TvActivity"
    android:label="@string/app_name"
    android:theme="@style/Theme.Leanback">

    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>

  </activity>

А теперь выдает ошибку при добавлении баннера. добавить эту строку

<application
  android:banner="@drawable/banner" >
person Radesh    schedule 21.05.2019
comment
это фактически не удаляет поддержку. Вы просто делаете это так, чтобы поддержка была необязательной, и это все равно раздувает ваш apk. Его нужно удалить из манифеста. - person John Lord; 17.07.2019

удалите Leanback из ваших зависимостей, например. // реализация 'androidx.leanback:leanback:1.0.0'

удалить из манифеста

<!--uses-feature android:name="android.software.leanback" android:required="false" /-->
<!--category android:name="android.intent.category.LEANBACK_LAUNCHER" /-->
<!--application android:banner="@drawable/banner" -->
person z kov    schedule 17.07.2019