每次开启扫描 - > 连接蓝牙设备 - >关闭扫描,再次开启扫描时会收到上次扫描的结果,并且时间戳是实时更新的,用nrf connect工具并没有扫到相关的蓝牙包,但是接口会重复返回,怎么解决?
iPhone 15 Pro系统iOS 17.6上发现此问题
//开启扫描的代码段
function onIotBluetoothDeviceFound() {
scan()
onBLECharacteristicValueChange()
onBLEConnectionStateChange()
wx.onBluetoothDeviceFound((result) => {
let device = result.devices[0]
let data = device.serviceData
if (data === undefined || data === null) return //过滤
data = data["0000xxxx-0000-1000-8000-00xxxxxxxxxx"]
if (data === undefined || data === null) return
data = Array.from(new Uint8Array(data))
console.log("数据 = ", Bytes2Str(data), "是否合法 = ", data.length,
Date.now(), "信号强度 = ", device.RSSI);
})
}
//关闭扫描
function stopScan() {
wx.stopBluetoothDevicesDiscovery({
success(res) {
console.log("关闭发现设备事件监听");
wx.offBluetoothDeviceFound()
console.log("***************停止扫描******************");
console.log(res)
}
})
}