Google Play restricts the use of high-risk or sensitive permissions, including the QUERY_ALL_PACKAGES
permission, which gives visibility into the inventory of installed apps on a given device. Play regards the inventory of installed apps queried from a user’s device as personal and sensitive information, and the use of the permission is only permitted when your app's core user-facing functionality or purpose requires broad visibility into installed apps on the user’s device.
If your app does not meet the requirements for acceptable use below, you must remove it from your app's manifest in order to comply with Play policy. Suggestions for policy-compliant alternative implementations are also detailed below.
If your app meets the policy requirements for the acceptable use of the QUERY_ALL_PACKAGES
permission, you will be required to declare this and any other high-risk permissions using the Permissions Declaration Form in Play Console.
Apps that fail to meet the policy requirements or do not submit the Permissions Declaration Form may be removed from Google Play.
Important: If you change how your app uses these restricted permissions, you must revise your declaration with updated and accurate information. Deceptive and undeclared uses of these permissions may result in a suspension of your app and/or termination of your developer account.
When should you request the QUERY_ALL_PACKAGES permission?
The QUERY_ALL_PACKAGES
permission only takes effect when your app targets Android API level 30 or later on devices running Android 11 or later.
To use this permission, your app must fall within permitted uses below, and have a core purpose to search for all apps on the device. You must be able to adequately justify why a less intrusive method of app visibility will not sufficiently enable your app's policy-compliant user-facing core functionality.
Core functionality is defined as the main purpose of the app. Without this core ability to search for all apps on the device, the app is "broken" or becomes unusable. The core functionality, as well as any core features that comprise this core functionality, must all be prominently documented and promoted in the app's description.