已安装应用但图标未显示在启动器屏幕或应用列表中

时间:2018-01-10 06:01:21

标签: android android-manifest system android-tv

已安装Android系统级设置应用程序,但图标不会出现在启动器屏幕中。我有共享的清单文件。

<application
    android:icon="@drawable/logo_settings_color_48dp"
    android:label="@string/settings_app_name"
    android:banner="@drawable/ic_launcher_banner_settings"
    android:supportsRtl="true"
    android:theme="@style/Theme.Settings"
    android:usesCleartextTraffic="true">
    <activity
        android:name=".MainSettings"
        android:excludeFromRecents="true"
        android:theme="@style/Theme.Settings.Transparent"
        android:configChanges="keyboard|keyboardHidden|navigation"
        android:label="@string/settings_app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.settings.SETTINGS" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
        <intent-filter
            android:priority="3"
            android:label="@string/launcher_settings_app_name"
            android:icon="@drawable/ic_settings_launcher_icon" >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LEANBACK_SETTINGS" />
        </intent-filter>
    </activity>  

1 个答案:

答案 0 :(得分:2)

  

宣布电视活动

     

用于在电视设备上运行的应用程序必须在其清单中声明电视的启动器活动。它使用CATEGORY_LEANBACK_LAUNCHER意图过滤器来执行此操作。此过滤器可将您的应用标识为已启用电视,并允许Google Play将其识别为电视应用。当用户在电视主屏幕上选择您的应用时,此意图会识别要启动的活动。

     

[...]

     
    

警告:如果您的应用中未包含CATEGORY_LEANBACK_LAUNCHER意图过滤器,则在电视设备上运行Google Play的用户无法看到该过滤器。此外,如果您的应用在使用开发者工具将其加载到电视设备时没有此过滤器,则该应用不会出现在电视用户界面中。

  

来源:Getting Started with TV Apps

因此,活动必须让此意图过滤器出现在电视启动器中:

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>

您可能从here复制的代码定义了启动器中的系统设置入口点。

如果您要构建某种系统级别的应用,请在提问时提及。