The system automatically makes some apps visible so that your app
can interact with them without needing to declare the
<queries>
element. This behavior
helps support basic functionality and common use cases.
Types of apps that are visible automatically
The following types of apps are always visible to your app, even when your app targets Android 11 (API level 30) or higher:
- Your own app.
- Certain system packages, such as the media provider, that implement core Android functionality.
- The app that installed your app.
- Any app that launches an activity in your app using the
startActivityForResult()
method, as described in the guide about getting a result from an activity. - Any app that starts or binds to a service in your app.
- Any app that accesses a content provider in your app.
- Any app that has a content provider that your app has been granted URI permissions to access.
- Any app that receives input from your app. This case applies only when your app provides input as an input method editor.
System packages that are visible automatically
Some system packages that implement core Android functionality are automatically visible to your app, even when your app targets Android 11 or higher. The specific set of packages depends on the device that runs your app.
To view the full list of packages for a specific device, run the following command in a terminal on your development machine:
adb shell dumpsys package queries
In the command output, find the forceQueryable
section. This section includes
the list of packages that the device has made visible to your app automatically.