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