【问题标题】:How to remove the launcher icon in android 10(Q)如何在 android 10(Q) 中删除启动器图标
【发布时间】:2020-04-25 15:01:18
【问题描述】:

在API 29之前,我们可以通过移除来移除设备中的启动器图标

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

            <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

在清单文件中。

如上所述here

从 Android Q 开始,除非应用至少满足以下条件之一,否则至少有一个应用的 Activity 或合成的 Activity 出现在返回的列表中:

  • 该应用是系统应用。

  • 该应用不请求任何权限。

  • 该应用没有默认启用的启动器活动。一种 启动器活动的意图包含 ACTION_MAIN 动作和 CATEGORY_LAUNCHER 类别。

  • 另外,系统隐藏 以下部分或所有应用程序的合成活动 企业相关案例:

    如果设备是完全托管的设备,则不会为 任何应用都会出现在返回的列表中。如果当前用户有工作 个人资料,没有为用户的工作应用程序合成的活动出现在 返回的列表。

第三个条件与未启用启动器活动相同。

如何在 android 10 中实现这一点?

【问题讨论】:

  • 你有解决办法吗?
  • @Ranjan No 没有得到任何解决方案

标签: android visibility android-10.0 appicon


【解决方案1】:

我认为第三个条件是错误的或过时的。

Google 当前的 Android 10 模拟器映像(Google APIs Intel x86 Atom System Image 29_r09)上的行为与文档不同:

getActivityList() 始终返回至少一项活动,除非应用满足至少一项:

  • 系统应用
  • 标签完全为空,即没有声明任何活动、服务等
  • 没有声明权限

此行为对应于 Android Q Beta 中的 release notes:

启动器图标可见性

在 Android Q Beta 2 中,未在各自的文件中声明任何权限的软件包 清单文件在所有应用托盘中隐藏,以下类型的应用也是如此:

  • 系统应用
  • 在其各自清单的 标记中不包含任何组件的应用程序

【讨论】:

  • 这应该是评论而不是答案
猜你喜欢
  • 1970-01-01
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 2013-01-08
  • 2019-12-20
相关资源
最近更新 更多