I have implemented some code in my app in order to get a list of accessibility services installed on my device using AccessibilityManager.getInstalledAccessibilityServiceList
. Since devices running Android 11 and above are subjected to package visibility filtering, I added a <queries>
tag in my manifest like this:
<queries>
<intent>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent>
</queries>
Unfortunately there are one or two installed accessibility services that are still not showing up but I can see them from the Accessibility menu in my device settings screen (like the ones belonging to com.dashlane and Voice Access).
I have checked that these missing accessibility services do show up correctly if I declare the QUERY_ALL_PACKAGES
permission in my app's manifest instead of using the <queries>
tag to get visibility to installed apps, so this seems like a package visibility filtering issue. Does anyone know why the <queries>
tag is somehow filtering out these missing packages and their accessibility services?