收藏
回答

安卓正常,IOS调用wx.notifyBLECharacteristicValueChange无回调

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug 低功耗蓝牙 微信iOS客户端 7.0.15 2.13.2[505]

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 个回答

  • 航空
    航空
    2021-04-15

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

    2021-04-15
    有用
    回复
  • 😶
    😶
    2021-04-15

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

    2021-04-15
    有用
    回复 5
    • 航空
      航空
      2021-04-15
      微信小程序连接低功耗蓝牙时,调用notifyBLECharacteristicValueChange该方法时,安卓手机正常调用成功,iOS调用时无回调,既没有调用成功方法,也没有调用失败方法、complete也没有被调用。
      2021-04-15
      回复
    • 航空
      航空
      2021-04-15
      1
      2021-04-15
      回复
    • 航空
      航空
      2021-04-15
      2
      2021-04-15
      回复
    • 航空
      航空
      2021-04-15
      3
      2021-04-15
      回复
    • 😶
      😶
      2021-04-15回复航空
      iOS的deviceId不是mac地址,需要通过扫描获取,可以先尝试使用startBluetoothDevicesDiscovery和onBluetoothDeviceFound接口获取蓝牙设备的deviceId,再尝试notify, 在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点
      2021-04-15
      回复
登录 后发表内容
问题标签