我一直在寻找一种从清单中禁用Android TV支持的方法。我知道我们的应用程序是不兼容的,我已经读过,即使您的目标是支持Android TV,但应用程序仍然不受支持。
但是,我还没有办法阻止Manifest要求INTENTBACK_LAUNCHER。我不想定义一个,因为我知道我们的应用程序与电视不兼容。
这些是我现在收到的警告:
期待用途 - 功能android:name =“android.software.leanback”android:required =“false”标签。
期望活动有android.intent.category.LEANBACK_LAUNCHER意图过滤器。
硬件功能android.hardware.touchscreen未明确标记为可选
因此,当我尝试提供预期的标签时,即使我说以下内容:
uses-feature android:name =“android.hardware.touchscreen”android:required =“true”
它仍然会发出一个警告,它可能不会被所有电视支持,这只是一个警告,但真的很烦人,因为我故意不想支持Android TV。甚至在我仍然获得LEANBACK_LAUNCHER意图过滤器警告之后。
不需要触摸屏让我摆脱要求LEANBACK_LAUNCHER的清单吗?我猜有些电视有触摸屏吗?
有谁知道如何明确禁用Android TV支持?
谢谢,
您可以通过将tools:ignore
属性添加到清单来禁用lint检查,如下所示:
<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">
我坚持这个,但我认为它只是一个无法识别我的应用程序的错误它不是一个Android电视应用程序!
现在我在清单中添加这些行,修复了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 intent过滤器在其清单中声明TV的启动器活动。问题ID:MissingLeanbackLauncher
我可以添加LEANBACK_LAUNCHER,但我不想!因为我想要禁用android tv支持。
如果需要,请创建一个活动并在清单中添加此行
<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" >
从您的依赖项中删除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" -->