正常情况,
-
蓝牙是开启 -> 没有问题发生
-
当蓝牙关闭 -> 没有问题发生
-
当蓝牙关闭再开启 -> Failed detect {errCode: 11005, errMsg: “startBeaconDiscovery:fail”}
wx.startBeaconDiscovery 这个API 会得到 11005 这个错误码
https://developers.weixin.qq.com/miniprogram/en/dev/api/iBeacon.html#wxonbeaconservicechangecallback
官方文档没有提供任何此错误码信息
手机:ONEPLUS A5000
谷歌百度没能找到有用信息
这个错误是调用系统蓝牙接口导致的,因为一般不太可能走到,所以没有在文档里暴露。
这里这个问题是必现么?小程序的逻辑是怎么样的?可以提供个复现问题的代码路径么。
ps:我这边看了客户端代码,比较有可能是开发者做监听蓝牙状态变化时立即调用搜索接口,这个有可能导致搜索不到,系统此时蓝牙出于开启中,我们小程序做个优化,看能不能改善这个情况,你这边也麻烦加个延时再试试。thx
(今天live 库似乎升到了2.2.2)
我试着在 开启蓝牙后 wx.startBeaconDiscovery 时先等待十秒
结果是相同的 => fail 11005
倒是试着监听 wx.onBeaconServiceChange(CALLBACK)
写个 console.warn(’’### onBeaconServiceChange", res)
会同时触发2次
然后换
iphone6 plus
wechat: 6.7.1
base lib: 2.2.2
触发一次
不会发生 11005
另一只手机
huawei nexus 6p
wechat: 6.6.7
base lib: 2.2.2
触发2次
不会发生 11005