了解哪些包自动可见

系统会自动使某些应用可见,以便您的应用无需声明 <queries> 元素即可与它们进行交互。此行为有助于支持基本功能和常见用例。

自动可见的应用类型

以下类型的应用始终对您的应用可见,即使您的应用的目标是 Android 11(API 级别 30)或更高版本

  • 您自己的应用。
  • 某些系统包,例如实现核心 Android 功能的媒体提供程序。
  • 安装您的应用的应用。
  • 任何使用 startActivityForResult() 方法在您的应用中启动活动的应用,如有关 从活动获取结果 的指南中所述。
  • 任何启动或绑定到您的应用中的 服务 的应用。
  • 任何访问您应用中的 内容提供程序 的应用。
  • 任何拥有内容提供程序的应用,您的应用已获得访问该提供程序的 URI 权限
  • 任何从您的应用接收输入的应用。此情况仅适用于您的应用以 输入法编辑器 的形式提供输入时。

自动可见的系统包

一些实现核心 Android 功能的系统包会自动对您的应用可见,即使您的应用的目标是 Android 11 或更高版本。特定包集取决于运行您的应用的设备。

要查看特定设备的完整包列表,请在开发机器的终端中运行以下命令

adb shell dumpsys package queries

在命令输出中,找到 forceQueryable 部分。此部分包含设备已自动对您的应用可见的包列表。