This topic created in 2114 days ago, the information mentioned may be changed or developed.
请教一下各位大佬,安卓手机当我的王者荣耀点击"微信登陆"时,它会判断我的手机是否安装微信.
1.安装了.打开微信,未登录提示登陆(输入账号密码会将原本登陆的账号顶下来)
2.未安装,给提示然后给一个扫码登陆(此时扫码并不会影响我原有的手机登陆状态)
然后我查资料说是因为王者荣耀有"读取应用列表"权限,所以它知道我是否安装了微信.
我把这个权限禁止了,在 MIUI12 和 COLOR7 下都有单独的选项.
但是我发现王者荣耀还是可以顺利的找到微信.
如果我希望它找不到微信,我该怎么处理呢?
引申的问题就是
我该怎么限制 APP 在我的安卓手机上直接读取我所有的应用列表呢?
Supplement 1 · Aug 5, 2020
非常感谢大家的解答,受教了.
MIUI12 里那种"读取应用列表"这样的权限具体是指啥?
还有就是我去试试看#5 的 ifw 规则看看
暂时也没看到别的好的方法
8 replies • 2020-08-04 11:35:21 +08:00
 |
|
1
mxT52CRuqR6o5 Aug 4, 2020 via Android
调起特定应用可以不需要读取应用列表权限吧,miui 如果调起的不是微信 qq 支付宝这种特殊应用应该会提示是否允许 xx 应用被调起,如果要限制不能调起微信应该是需要 root(或是得连电脑 adb 授予一些高端权限)才行 如果只看标题就是个典型的 xy 问题
|
 |
|
2
WebKit Aug 4, 2020 via Android
谁给你说的这么判断的????直接调用微信,没有安装打不开,会抛出一个异常,拦截这个异常提示安装微信就行了。
|
 |
|
3
WebKit Aug 4, 2020 via Android
读取应用列表在安卓原生上是不需要权限的。
|
 |
|
4
getadoggie Aug 4, 2020
1.它可能是用了其它判断方法。 2.其中一个可能的方法就是通过 SD 卡目录寻找相关文件。你用存储重定向试试把王者荣耀重定向,看看还能判断出来不 3.除了 miui12 等 rom 有禁止读取应用列表的功能,第三方软件也可以做到—xposed 模块里的 xprivacy 模块可以做到。
|
 |
|
5
sky96111 Aug 4, 2020 via Android
安卓原生不存在读取应用列表这一权限。最后一个问题如果不介意微信也不能被其他程序唤起可以试试写 ifw 规则,如果介意的话还要写好多允许规则
|
 |
|
8
magicls Aug 4, 2020
判断应用有没有安装不需要任何权限啊,直接调 PackageManager 的 getPackageInfo 就行啊。
|