安卓正常,IOS调用wx.notifyBLECharacteristicValueChange无回调,既没有调用成功方法,也没有调用失败方法、complete也没有被调用。
如果删除一个参数就会失败,提示参数异常。
console.log('111111111111111111111')
var that = this
console.log("ddddd:",app.globalData.wendudeviceMac,app.BLEInformation.notifyServiceId,app.BLEInformation.notifyCharaterId)
wx.notifyBLECharacteristicValueChange({
// type: 'notification',
state: true,
deviceId: app.globalData.wendudeviceMac,
serviceId: app.BLEInformation.notifyServiceId,
characteristicId: app.BLEInformation.notifyCharaterId,//notifyCharaterId,
type:'notification',
success: function (res) {
console.log('222222222222222222')
},
fail:function(res){
console.log('333333333333333')
console.log("失败:",res)
},
complete:function(res){
console.log('44444444444444444444444')
console.log("最终:",res)
只输出 console.log('111111111111111111111')
var that = this
console.log("ddddd:",app.globalData.wendudeviceMac,app.BLEInformation.notifyServiceId,app.BLEInformation.notifyCharaterId)
其他的都没有响应。
问题解决了,我自己逻辑问题,在安卓里面没有体现出来。我是同步开启notifyBLECharacteristicValueChange(监听特征值变化),然后获取特征值,关闭蓝牙。iOS因为蓝牙关闭了,导致没有获取到。但是安卓(一部手机不代表全部安卓)关闭前获取到特征值变化了。
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。