安卓正常,IOS调用wx.notifyBLECharacteristicValueChange无回调
发布于 6 年前 作者 xiawen 1107 次浏览 来自 官方Issues

https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html

安卓正常,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)

其他的都没有响应。


2 回复

请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

问题解决了,我自己逻辑问题,在安卓里面没有体现出来。我是同步开启notifyBLECharacteristicValueChange(监听特征值变化),然后获取特征值,关闭蓝牙。iOS因为蓝牙关闭了,导致没有获取到。但是安卓(一部手机不代表全部安卓)关闭前获取到特征值变化了。

回到顶部