You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android TV自定义Home应用重启后无法默认启动的原因

Android TV 自定义Home应用重启后不自动启动的问题排查及解决

核心原因分析

你遇到的问题大概率是Intent Filter配置冲突导致的:将LEANBACK_LAUNCHER(TV启动器入口)和HOME(Home应用入口)的意图过滤器合并在同一个<intent-filter>标签内,会让系统在重启时无法正确识别该应用作为默认Home应用的启动逻辑。Android系统对这两类入口的识别逻辑是分开的,合并声明会干扰系统的启动判断。

具体解决方案

1. 拆分Intent Filter

修改Manifest中的Activity配置,将两个入口的意图过滤器分开声明,确保系统能清晰识别不同的启动场景:

<activity
    android:name=".ui.main.LandingActivity"
    android:launchMode="singleInstance"
    android:stateNotNeeded="true"
    android:exported="true"
    android:screenOrientation="landscape">
    <!-- TV启动器入口(用于应用列表显示) -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <!-- Home应用入口(用于Home键触发及系统重启启动) -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

2. 检查系统层面限制

部分定制化Android TV系统(如小米、TCL等厂商的系统)对第三方Home应用有额外限制:

  • 要求应用必须是系统应用:需要将应用安装到/system/app或/system/priv-app目录(需Root权限),并使用系统签名。
  • 存在厂商专属的Home应用白名单:需联系厂商获取授权或适配方案。

3. 验证权限与启动模式

  • 无需额外添加RECEIVE_BOOT_COMPLETED权限:系统重启后会主动唤起默认Home应用,不需要监听开机广播。
  • 保留singleInstance启动模式:该模式符合Home应用的单实例要求,不会导致重启问题。

测试步骤

  1. 重新编译安装修改后的应用。
  2. 再次在系统设置中设置该应用为默认Home应用。
  3. 重启设备,观察应用是否自动启动。

内容的提问来源于stack exchange,提问作者Malo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:05:52