I have an app that accepts certain data from other apps. Those other apps typically check to see if my app is installed. For some reason some of those other app developers do some convoluted checks and sometimes those fail. This often leads to me getting bad reviews because those apps tell the users to install my app and they do but then it keeps telling them that because it can't find my app.
So I decompiled one of those apps and I think I found the issue. They get a list of installed apps like this:
getPackageManager().getInstalledApplications(128)
128
appears to be PackageManager.GET_META_DATA
but I have no idea what that means and why my app doesn't appear on the list when that is called?
I've read on this post Android PackageManager can only detect system apps on physical devices that it could be related to package visibility on Android 11 https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9 however I tried adding that <queries>
element and it didn't help at all. Is that something they need to add or something I need to add?
Edit: Figured out how the <queries>
thing works. The app searching for my app must have it. So this doesn't really help me. Is there any way to get my app to show up for those apps when they query packages?