调用获取位置api后-初始化蓝牙模块-启动扫描-扫描回调到新设备-停止扫描关闭模快第三次就没回调了?
现在复现了 建议大家 wx.getLocation 和蓝牙扫描相关函数 不要一起用到 慎用!!! 不然各种扫不到 各种坑!!!
// 安卓机会这样 执行三次后就没回调了 去掉获取位置api 则会有5次回调 第6次会没回调(这个是由于安卓系统30秒内限制了只能5次扫描)// 但是为什么 加了获取位置api后 执行到第三次后就一直获取不到回调了呢?
// 代码片段
wx.getLocation({
success: () => {
wx.openBluetoothAdapter({
success: () => {
console.log('蓝牙模块初始化成功')
wx.startBluetoothDevicesDiscovery({
// services: ['08D9'],
success: () => {
console.log('蓝牙扫描启动成功')
wx.onBluetoothDeviceFound((res) => {
console.log(res)
wx.stopBluetoothDevicesDiscovery({
success: () => {
console.log('停止蓝牙扫描成功')
wx.closeBluetoothAdapter({
success: () => {
console.log('关闭蓝牙模块成功')
},
fail: (res) => {
console.log('关闭蓝牙模块失败', res)
}
})
},
fail: (res) => {
console.log('停止蓝牙扫描失败', res)
}
})
})
},
fail: async (res) => {
console.log('蓝牙扫描启动失败', res)
}
})
},
fail: (res) => {
console.log('蓝牙模块初始化失败', res)
}
})
}
})
获取位置api(wx.getLocation) 和 微信蓝牙扫描相关(wx.onBluetoothDeviceFound)一起用 就有奇怪的问题
这个东西坑死我了 导致蓝牙各种扫不到 之前都是好的 项目里加了位置上报 就各种扫不到 去掉就好了 一直找不到头绪
现在复现了 建议大家 wx.getLocation 和蓝牙相关函数 不要一起用到 慎用!!! 不然各种坑!!!
2 回复
请提供能复现问题的简单代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
再重现一次,在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,提供一下微信号,复现问题的详细时间点