问题模块 |
---|
API和组件 |
蓝牙写入的接口writeBLECharacteristicValue没有回调值,不会回调是什么原因?
网友回复
OK 好的,非常感谢
按之前的经验来说,安卓某些rom,短时间内快速执行蓝牙接口会报系统错误
在wx.notifyBLECharacteristicValueChange,我延迟执行writeBLECharacteristicValue,不会报错也会有返回值了,但是这个执行顺序感觉好奇怪,非常感谢官方大大的解答,我已经上传日志了,麻烦请看看
方便复现一下问题,并在复现问题的微信号任意聊天输入框键入//uplog,上传日志,我看看日志。感谢
wx.notifyBLECharacteristicValueChange,设置监听之后writeBLECharacteristicValue一直会报10008错误,但是去掉之后则会写入成功这是为什么?
onBLECharacteristicValueChange被执行的条件是:
1.
https://mp.weixin.qq.com/debug/wxadoc/dev/api/bluetooth.html#wxnotifyblecharacteristicvaluechangeobject
wx.notifyBLECharacteristicValueChange,设置监听
2.
确保蓝牙设备有发送notify事件,客户端只是透传事件,如果蓝牙没有发送相关的change事件的话,客户端也不会执行
现在写入成功也不会执行onBLECharacteristicValueChange事件?
但是现在写入成功也是没有执行onBLECharacteristicValueChange事件,这个是什么原因呢?
你好,看了日志
根据日志来看是write失败,原因如下图,写数据太大了,确定是没有走到fail回调的嘛?
写没有成功,收不到onBLECharacteristicValueChange事件就是可以解释得通的。
对对对你说对了,我忘了确定失败事件,成功或失败事件应该会执行
wx.onBLECharacteristicValueChange(function (characteristic) {
console.log('characteristic value comed:', characteristic)
})
但是读取的时候是会执行,写入不会
微信号是:xiaofeiwoaini001