系统会自动使某些应用可见,以便您的应用无需声明 <queries>
元素即可与它们交互。此行为有助于支持基本功能和常见用例。
自动可见的应用类型
即使您的应用的目标是 Android 11(API 级别 30)或更高版本,以下类型的应用始终对您的应用可见
- 您自己的应用。
- 某些系统软件包(例如实现核心 Android 功能的媒体提供程序)。
- 安装您的应用的应用。
- 任何使用
startActivityForResult()
方法在您的应用中启动活动的应用,如关于 从活动获取结果 的指南中所述。 - 任何启动或绑定到您应用中的 服务 的应用。
- 任何访问您应用中的 内容提供程序 的应用。
- 任何拥有内容提供程序的应用,并且您的应用已 被授予 URI 权限 以访问该内容提供程序。
- 任何接收来自您应用的输入的应用。此情况仅在您的应用将输入作为 输入法编辑器 提供时适用。
自动可见的系统软件包
某些实现核心 Android 功能的系统软件包会自动对您的应用可见,即使您的应用的目标是 Android 11 或更高版本也是如此。特定软件包集取决于运行您的应用的设备。
要查看特定设备的完整软件包列表,请在开发机器上的终端中运行以下命令
adb shell dumpsys package queries
在命令输出中,查找 forceQueryable
部分。此部分包含设备已自动对您的应用可见的软件包列表。