关于安卓软件"读取应用列表"权限求解

2020-08-04 01:25:49 +08:00
 v2vTZ
请教一下各位大佬,安卓手机当我的王者荣耀点击"微信登陆"时,它会判断我的手机是否安装微信.
1.安装了.打开微信,未登录提示登陆(输入账号密码会将原本登陆的账号顶下来)
2.未安装,给提示然后给一个扫码登陆(此时扫码并不会影响我原有的手机登陆状态)

然后我查资料说是因为王者荣耀有"读取应用列表"权限,所以它知道我是否安装了微信.
我把这个权限禁止了,在 MIUI12 和 COLOR7 下都有单独的选项.
但是我发现王者荣耀还是可以顺利的找到微信.

如果我希望它找不到微信,我该怎么处理呢?

引申的问题就是
我该怎么限制 APP 在我的安卓手机上直接读取我所有的应用列表呢?
5633 次点击
所在节点    问与答
8 条回复
mxT52CRuqR6o5
2020-08-04 01:45:05 +08:00
调起特定应用可以不需要读取应用列表权限吧,miui 如果调起的不是微信 qq 支付宝这种特殊应用应该会提示是否允许 xx 应用被调起,如果要限制不能调起微信应该是需要 root(或是得连电脑 adb 授予一些高端权限)才行
如果只看标题就是个典型的 xy 问题
WebKit
2020-08-04 01:48:35 +08:00
谁给你说的这么判断的????直接调用微信,没有安装打不开,会抛出一个异常,拦截这个异常提示安装微信就行了。
WebKit
2020-08-04 01:49:34 +08:00
读取应用列表在安卓原生上是不需要权限的。
getadoggie
2020-08-04 07:55:02 +08:00
1.它可能是用了其它判断方法。
2.其中一个可能的方法就是通过 SD 卡目录寻找相关文件。你用存储重定向试试把王者荣耀重定向,看看还能判断出来不
3.除了 miui12 等 rom 有禁止读取应用列表的功能,第三方软件也可以做到—xposed 模块里的 xprivacy 模块可以做到。
sky96111
2020-08-04 08:03:08 +08:00
安卓原生不存在读取应用列表这一权限。最后一个问题如果不介意微信也不能被其他程序唤起可以试试写 ifw 规则,如果介意的话还要写好多允许规则
zhugefubin
2020-08-04 08:21:15 +08:00
@WebKit 5.0 以后就需要了
WebKit
2020-08-04 09:07:52 +08:00
@zhugefubin 不需要的,因为安卓原生根本没有这个权限啊
magicls
2020-08-04 11:35:21 +08:00
判断应用有没有安装不需要任何权限啊,直接调 PackageManager 的 getPackageInfo 就行啊。

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

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

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

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

© 2021 V2EX