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