部分手机如oppo使用低功耗蓝牙时无法搜索到设备,定位没有打开的提示
发布于 5 年前 作者 naliao 2537 次浏览 来自 问答

部分手机如oppo使用低功耗蓝牙时无法搜索到设备,官方问答中有提到需要打开定位才能搜索到,并且wx.onBluetoothDeviceFound()会提示没有打开GPS,但是我试了下搜索不到蓝牙时不会触发wx.onBluetoothDeviceFound(),请问有没有人知道怎么写才能看到定位没有打开的提示

下图是用OPPO r15测试文档里的例子

wx.onBluetoothDeviceFound((res) => {

console.log(res);

})

这样写貌似不行,只有有设备时console.log里面才会有内容,报错内容怎么写才能看到呢?

代码片段就是文档给的例子,我在onBluetoothDeviceFound里面加了console.log,打印出来是undefined(下图1),openBluetoothAdapter和startBluetoothDevicesDiscovery都成功了

2 回复

1.

前有回复说onBluetoothDeviceFound会提示打开定位

并没有这种参数,自己搞吧

可以这么搞

严格策略:

可直接getSystemInfo判断是否有位置权限(系统对微信小程序权限)&位置开关是否打开,若无则提醒用户打开

其他策略:(非全部手机都需要位置权限才能搜索)

调用start后,定时检测下是否有搜索到设备,一般一个设备都没有搜索到就是因为位置的原因导致,提醒用户打开

ps:

Android会有这何种问题。

手机开启gps试下?

回到顶部