Google is making some new changes to the Developer Program Policy that will make it harder for apps to see what other apps are installed on your Android device. Google says it regards the full list of installed apps on a user’s device to be personal and sensitive information, and as such, will limit which apps can access this information. Specifically, Google will be restricting which apps can request the QUERY_ALL_PACKAGES permission which is currently required for apps targeting API level 30 (Android 11) and above that want to query the list of installed apps on a user’s device that runs Android 11 or later.

Moving forward, the use of QUERY_ALL_PACKAGES permission will only be permitted when the core functionality of the app depends on querying the installed apps. Developers will have to “sufficiently justify why a less intrusive method of app visibility will not sufficiently enable your app's policy-compliant user-facing core functionality.”

Google outlines permitted uses of the QUERY_ALL_PACKAGES permission as follows:

Permitted use involves apps that must discover any and all installed apps on the device, for awareness or interoperability purposes may have eligibility for the permission. Permitted use includes; device search, antivirus apps, file managers, and browsers.

If an app doesn't meet the requirements set forth above, the developer must remove the permission from the app's manifest to comply with the Play Policy. Even if an app meets the requirements for using the QUERY_ALL_PACKAGES permission, the developer will still have to sign a declaration form in the Play Console. Google warns that failing to submit the Declaration Form or not meeting the policy requirements may lead to your app being removed from the Google Play Store. This new change will come into effect starting May 5, 2021. It's worth noting that starting November of 2021, all new apps and app updates submitted to Google Play will be required to target Android 11 or above, strengthening the enforcement of this new policy.

This is a welcome change that will make it harder for apps to spy on what apps you're using on your device. Knowing what apps are installed on your device can be used as part of targeted advertisements or for malicious purposes.

It's worth noting that Google already requires apps that request the SMS or Call Log permissions to sign a declaration form before they can be published on Google Play. The restriction on app package visibility is just the next step in Google restricting permissions access in an effort to preserve user privacy.

Thanks to XDA Recognized Developer M66B for the tip!