这个问题仅在安卓手机上会出现,并且只在特定的芯片中出现。
1、蓝牙连接成功后,获取设备服务成功后,获取设备特征值成功后进行监听蓝牙特征值变化。
wx.notifyBLECharacteristicValueChange({
deviceId:deviceId,
serviceId:serviceId,
characteristicId: NotifyCharactersticUUID,
state: true,
success:(res2) =>{
console.log('监听特征值成功',res2)
},
fail:(res2) => {
console.log("notify fail", res2)
},
complete:(res2) =>{
wx.onBLECharacteristicValueChange((characteristic) => {
const data = Array.prototype.slice.call(new Uint8Array(characteristic.value ))
console.log('设备返回的特征值',data)
father.onCharacteristicsHandler(data)
})
}
})
2、这个时候可以看到接口返回的是监听特征值成功了
但是这个时候一直没有特征值返回。
3、于是打开另一个软件nRF Connect 连接上这台设备,并在这里监听特征值变化
4、监听成功后,我返回到小程序,可以看到此时立即有特征值返回了
5、可以判断是接口没有真正的监听特征值成功。
开启,监听,发送,接受 这样只要向设备发送了数据,就能接受到数据啊
我一直把onBLECharacteristicValueChange写在notifyBLECharacteristicValueChange的前面,没有出现过你说的问题,可以试一下能不能解决。
请问这个bug什么时候会解决?