小程序中获取系统信息在部分机型上不正确
发布于 5 年前 作者 chao53 9593 次浏览 来自 问答

https://developers.weixin.qq.com/miniprogram/dev/api/base/system/system-info/wx.getSystemInfo.html#%E5%8F%82%E6%95%B0

需要描述:我们希望获取用户是否打开了微信的位置权限,所以使用了

wx.getSystemInfo(Object object)

接口的locationAuthorized参数。获取的结果在iPhone,华为,三星等机型上是准确的,打开该开关之后也能够及时获取到。

但是经过测试,该参数在小米5,小米6,小米Note以及Vivo的部分机型上不准确。如果一开始获得的参数值是true或false,那么不管用户是否开启该权限,之后获取的值都是不变的。即使是重启小程序或者重启手机,也无法在这些机型上获取正确的值。

希望小程序能够早日解决该问题。

2 回复

查了下,该接口调用的系统接口,返回不正确,应该是系统的bug。

ContextCompat.checkSelfPermission(context, otherPermisson)

ps:

https://github.com/yanzhenjie/AndPermission/issues/31

查了下,参考这个,我们看看能不能cover住一部分case,但其他还有问题的只能推动厂商解决了,目前看是没救的。

试下在手机设置那里关闭微信的授权按钮再重新打开授权按钮看看

回到顶部