现在有这么一个问题!
蓝牙问题:众所周知,安卓的蓝牙很坑,安卓6.0以上的手机需要打开微信定位权限,安卓7.0以上需要 打开微信定位权限和手机定位权限(有些6.0以上的也需要全部打开),由于小程序不能操
作手机上的原生接口,只能给提示。
需求
由于安卓手机不一样,权限管理的位置也不一样(华为的基本在设置里面,VIVO的基本在I管家里面), 有没有什么好的方案打开权限管理里的微信定位
我们的产品是通过蓝牙连接的,面向了所有用户,现在就有这个蓝牙连接不上的问题,通过测试基本上都是由于没有打开权限和定位,但是我们已经做了相关的提示,定位还好操作,都会打开,主要是这个微信定位权限的地方,很多用户都不知道在哪里。能不能给个好一点的方案。麻烦各位和管理员了。(现在IOS蓝牙基本上在一秒到两秒连接上的,Android基本上在2到3秒。偶尔会慢一点)
你好,感谢你的反馈。这部分的问题我们内部也在讨论评估解决的方案,还没有敲定最终的解决方案。因此开发者这边暂时只能通过提示的方式让用户自行在系统面板内授权微信使用定位信息。因此给你带来不便,我们深感歉意。
你试着延迟一下获取蓝牙列表!我这边前几天测了一部手机,华为的,什么都开了也获取不了,后来我想了一下是不是获取蓝牙列表的原因,我就延迟了一下,以前是搜索蓝牙列表后,延迟的500毫秒获取的蓝牙列表。我延迟1秒后还是搜不到,后来延迟1.5秒就搜索到了
//获取蓝牙列表
if (that.data.BluetoothState == 0) {
setTimeout(function () {
that.getBluetoothInfo();
}, 500);
} else if (that.data.BluetoothState == 1) {
setTimeout(function () {
that.getBluetoothInfo();
}, 1000);
} else if (that.data.BluetoothState == 2) {
setTimeout(function () {
that.getBluetoothInfo();
}, 1500);
} else if (that.data.BluetoothState == 3) {
setTimeout(function () {
that.getBluetoothInfo();
}, 2000);
} else {
setTimeout(function () {
that.getBluetoothInfo();
}, 2500);
}