读取手机是否安装某个应用,不需要权限吧?

2023-06-11 22:52:01 +08:00
 estk

本人非安卓开发,印象中,好像有个方法,类似于 canOpenUrl("weixin://") 就可以判断你是否装了微信,换个 scheme 就可以判断其它 App

8238 次点击
所在节点    Android
12 条回复
jiuhuicinv
2023-06-11 23:05:54 +08:00
IOS 也有类似调用方法
estk
2023-06-11 23:07:26 +08:00
@jiuhuicinv #1
所以装了官方 App ,它想知道你有没有装电报,iOS 也跑不掉?
codehz
2023-06-11 23:10:57 +08:00
用不着这么麻烦,直接用 QUERY_ALL_PACKAGES 的权限就能获得完整列表
estk
2023-06-11 23:18:52 +08:00
@codehz #3
这个权限可以在 setting 里用户手动关闭吧,不够强制
jiuhuicinv
2023-06-12 00:56:42 +08:00
@estk 我只是说 IOS 有 scheme 这种功能 至于能不能用于检测装了什么软件就不得而知了
bao3
2023-06-12 01:39:54 +08:00
可以,用 URL scheme 是合法的,只是会不会涉及隐私,这个……
starlin
2023-06-12 09:29:36 +08:00
第一次听说,安装非法应用导致封手机号的
AoEiuV020JP
2023-06-12 10:19:29 +08:00
讲道理仅仅是安装,并不能做为违规违法的证据,
尤其检测只是 scheme 或者包名,甚至不知道检测到的是不是只是其他碰巧同名的 app ,
啥也没干的情况就惩罚,放哪里都说不通,
DosLee
2023-06-12 10:20:04 +08:00
这操作真是 6 ,看完直接去应用管理里删除数据并卸载了运营商软件
estk
2023-06-12 11:05:25 +08:00
@AoEiuV020JP #8
确实啊,我们 ZF 是个讲道理的 ZF ,不会乱来的
ysc3839
2023-06-12 11:26:31 +08:00
@codehz @estk AOSP 没有“读取应用列表”权限的开关,应用请求了就能使用。
而且就算用的是国产系统,拒绝了“读取应用列表”权限,或者用其他 Xposed 等工具禁止读取应用列表,仍然可以通过读取 /data/data/包名 的方式来探测某个应用是否安装,如果应用有安装,会返回 Permission denied ,否则会返回 No such file or directory
shinession
2023-06-12 14:35:48 +08:00
买了国产手机, 出国后就不能用了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/947828

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX