Android TV 包安装成功后找不到启动图标

2020-03-09 21:34:48

说明

要开发一款TV项目,使用 Android Studio 直接创建 TV 项目。

问题

生成APK文件,用U盘插入到小米盒子上,然后点击安装,提示安装成功

可是找不到启动图标,安装成功的弹窗也没有打开的选项。
而我之前测试装的一款手机应用是可以找到启动图标的。

PS :  小米盒子上已安装的应用,在  精选 > 我的应用  的路径下(正常情况下,安装的应用都在 我的应用 里,而我的新项目却找不到)

小米盒子已安装应用路径


处理

为此,我在特意安装了 TV管家 (当贝助手),应用卸载的列表里是可以看到此应用的。

至此,可以确定的是,应用安装成功,但是找不启动按钮。

解决

应该算是 Android Studio 创建默认 TV的一个bug,如下:

 <activity
            android:name=".ui.MainActivity"
            android:banner="@drawable/app_icon_your_company"
            android:icon="@drawable/app_icon_your_company"
            android:label="@string/app_name"
            android:logo="@drawable/app_icon_your_company"
            android:screenOrientation="landscape">
            <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>
        </activity>

当 category 为 android.intent.category.LEANBACK_LAUNCHER 时,不展示启动图标。

改为和手机应用的一样就可以看到启动图标了,即 android.intent.category.LAUNCHER

如上代码,就可以找到启动图标,正常使用App了。

最后附上开发文档的一句话

注意:如果您不在应用中包含 CATEGORY_LEANBACK_LAUNCHER intent 过滤器,那么用户在 TV 设备上运行 Google Play 时将看不到您的应用。此外,如果您的应用没有此过滤器,那么当您使用开发者工具将其加载到 TV 设备上时,该应用不会出现在 TV 界面中。


  • 2019-12-01 08:00:16

    PHP中的HTTP_HOST和SERVER_NAME有什么区别

    多域名指向同一个php服务器,用nginx做代理,获取SERVER_NAME都是第一个域名,这就尴尬了,至今不明白咋回事,最后用HTTP_HOST解决都,这个暂时倒是准确。

  • 2019-12-01 08:04:30

    laravel多路由配置,也可以做根据域名都动态路由

    在用laravel 框架开发大型应用的时候,由于 laravel 默认是只有一个路由文件,如果把项目所有模块的路由放在一个路由文件下,那么该路由文件就显得很臃肿,以至于后期难以维护,解决方案是根据不同模块配置不同路由文件。