3

我一直在寻找一种从清单中禁用 Android TV 支持的方法。我知道我们的应用程序不兼容,而且我读到即使您的目标是支持 Android TV,应用程序仍然不受支持。

但是,我还没有找到阻止 Manifest 请求 INTENTBACK_LAUNCHER 的方法。我不想定义一个,因为我知道我们的应用程序与电视不兼容。

这些是我现在得到的警告:

期待使用功能 android:name="android.software.leanback" android:required="false" 标记。

期望活动具有 android.intent.category.LEANBACK_LAUNCHER 意图过滤器。

硬件功能 android.hardware.touchscreen 未明确标记为可选

因此,当我尝试提供预期的标签时,即使我说以下内容:

使用功能 android:name="android.hardware.touchscreen" android:required="true"

它仍然发出警告说它可能不被所有电视支持,这只不过是一个警告,但真的很烦人,因为我故意不想支持 Android TV。即使在我仍然收到 LEANBACK_LAUNCHER 意图过滤器警告之后。

不需要触摸屏让我摆脱要求 LEANBACK_LAUNCHER 的清单吗?我猜有些电视有触摸屏?

有人知道如何明确禁用 Android TV 支持吗?

谢谢,

4

4 回答 4

0

从您的依赖项中删除 Leanback,例如 //implementation'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" -->
于 2019-07-17T03:57:04.707 回答
0

您可以通过将属性添加到清单中来禁用 lint 检查,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">
于 2019-03-29T10:52:31.913 回答
0

我坚持这一点,但我认为这只是一个无法识别我的应用程序的错误,它不是安卓电视应用程序!

现在我在清单中添加这些行并修复了 3 个警告中的 2 个

<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 意图过滤器在其清单中声明电视的启动器活动。问题 ID:MissingLeanbackLauncher

我可以添加LEANBACK_LAUNCHER,但我不想!因为我想完全禁用 android 电视支持。

如果需要,请创建一个 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" >
于 2019-05-21T06:44:35.643 回答
0

无论您要导入什么库导致问题,从它排除leanback

implementation("com.library.using.tv:foo") {
    exclude group: 'androidx.leanback', module: 'leanback'
}

如果您不怀疑任何库,请检查您的依赖关系树

于 2021-08-26T16:23:34.253 回答