【问题标题】:App installed but icon doesn't appear in launcher screen or app list应用程序已安装,但图标未出现在启动器屏幕或应用程序列表中
【发布时间】:2018-06-19 06:08:02
【问题描述】:

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>  

【问题讨论】:

  • 您看到的是默认图标还是根本没有图标。
  • 图标根本看不到,我已经检查了已安装的应用程序并安装了应用程序。
  • 您正在为 Android TV 制作应用程序吗??
  • 尝试用这个替换你的意图过滤器 -
  • 我已经改变了,但没有运气。

标签: android android-manifest system android-tv


【解决方案1】:

声明电视活动

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

[...]

警告:如果您未在应用中包含 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 复制的代码定义了启动器中的系统设置入口点。

如果您正在构建某种系统级应用程序,您应该在问题中提及这一点。

【讨论】:

猜你喜欢
  • 2016-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多