开发Android TV启动器应用需哪些配置?按Home键无切换弹窗如何解决
问题排查与解决方法
- 第一步:确认应用安装状态
打开模拟器的「设置 > 应用 > 查看所有应用」,确认包名为com.tvapp.myapplication的应用已成功安装。如果没有找到,重新构建并安装应用即可。 - 第二步:手动触发启动器选择
系统如果已经绑定了默认启动器,按Home键不会弹出选择框,你可以通过adb命令强制触发选择:
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME
如果运行后弹出选择框,直接选中你的应用即可;也可以直接进入「设置 > 应用 > 默认应用 > 主屏幕」手动选择你的启动器作为默认。
如果执行触发命令没弹出选择框,可以运行adb shell dumpsys package resolvers | findstr /i home(Windows)或者adb shell dumpsys package resolvers | grep -i home(Mac/Linux)查看Home intent的匹配列表,确认你的应用是否在列表中,不在的话就继续往下排查。
- 第三步:修复应用未激活问题
Android 10及以上系统,安装后未被手动启动过的应用会处于停止状态,无法被系统的Home intent匹配。你可以在Android Studio的Run/Debug配置中,将Launch选项设置为「Specified Activity」,指定启动MainActivity,运行一次应用激活后再按Home键测试。 - 第四步:调整Manifest配置
可以给MainActivity的intent-filter额外添加LEANBACK_HOME分类适配TV场景,修改后的配置如下:
<activity android:name=".MainActivity" android:exported="true" android:launchMode="singleTask" android:stateNotNeeded="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LEANBACK_HOME" /> </intent-filter> </activity>
- 第五步:排查模拟器兼容性
部分Android TV模拟器镜像存在自带启动器强制默认的bug,可以更换API 30/33的官方Android TV镜像重试。
内容的提问来源于stack exchange,提问作者nabeel imtiaz
相关产品推荐
相关产品推荐

