关于哪些应用能扫描安装的 app ,可以看一下这个
https://developer.android.com/training/package-visibility简单来说:
1. API level 小于 30 的应用没有任何限制。
2. API 大于等于 30 的应用,需要声明一个访问所有 app 的权限,目前 play 版的支付宝声明了这个权限(不排除有确实需要的业务)(也不排除有业务需求的同时上传隐私)
3. API 大于等于 30 的应用,在 queries 字段中可以通过声明 intent filter 的方式包括所有有图标、能启动的应用,借此可以查询到绝大部分安装的 app, play 版的微信声明了这一字段。(同样不排除微信确实有业务需要)(也不排除有业务需要的同时上传隐私)
4. 其余的能访问的应用和组件需要在 queries 字段里声明,经过测试大部分 play 商店的国产应用和一些海外应用都会同时声明不少国产应用和国外应用,大概是接入了多种渠道的 sdk 之类的,也不排除收集隐私。
5. 部分应用和主动调用目标应用的应用会自动对目标应用可见,不排除有漏洞会被利用。
6. 其他可能会暴露应用的 intent filter 方式声明的字段。
7. 这个只过滤常规 API 返回的结果,不排除有其他漏洞可以被利用来获取所有应用(如 /data 下面的路径)
8. 理论上上架 Google play 的应用声明需要人工确认确实有对应业务。
我不是专门的 Android 开发,上面说的不一定完全准确,欢迎指正。有兴趣的可以去翻一下自己手机上国产应用的 manifest 看一下它们都声明了哪些,上面提到的应用的国内版是否有区别。