Google Play Store won’t allow apps to scan for other apps without a good reason
Android applications can check which other apps are installed using the QUERY_ALL_PACKAGES permission, but given the security and privacy risks, the functionality is only intended for apps that actually need it (such as app launchers or backup tools). Google said last year that it would start kicking apps off the Play Store that used the permission without a good reason, and now the rule has gone into effect.
Google has reportedly sent an email to developers with published apps using the QUERY_ALL_PACKAGES permission, informing them that they will need to fill out the relevant permission declaration in the Play Console. The declaration involves explaining why a “core feature in your app” requires the permission, with both a written description and a short video demonstration. Apps without the declaration run the risk of being removed from the Google Play Store starting June 1, 2022.
Android 10 and earlier allowed any application to obtain a full list of installed apps, without any permissions prompts or roadblocks. That was a significant problem for privacy and security (e.g. apps could target ads based on what apps were installed), so starting with Android 11, the list of apps was filtered by default. Applications could still get around the new filter with the QUERY_ALL_PACKAGES permission, but Google said last year it wouldn’t allow apps on the Play Store that used the permission for non-essential functionality.
The original due date for the Play Store policy change was May 5, 2021, with the first removals for non-compliant apps starting in November 2021. Google later pushed back the starting date due to “COVID-19 related considerations.”
Google has created similar rules for apps using Accessibility Services, as it tries to balance the requirements for apps with security measures. If app developers can explain why their apps can’t function without QUERY_ALL_PACKAGES, they can stay on the Play Store — assuming Google’s support staff is responsive and accommodating, which isn’t always the case.