微信小程序低功耗蓝牙开发那些坑(五)

前言

微信小程序低功耗蓝牙开发的兼容问题,比我想象的要多,比方说这天,突然发现往蓝牙写入数据以后,就报 10008 系统错误. 我到官方一查,发现就是系统错误,然后我定位到具体的报错位置,发现是 监听报错

官方提示如下:

注意

  • 订阅操作成功后需要设备主动更新特征值的 value,才会触发 wx.onBLECharacteristicValueChange 回调。
  • 安卓平台上,在调用 notifyBLECharacteristicValueChange 成功后立即调用 writeBLECharacteristicValue 接口,在部分机型上会发生 10008 系统错误

瞧见没,反正就是这么坑,这是个小bug,但是会影响我其他流程的继续执行,
这是第五个坑:

部分机型写入命令后的监听包 10008

看了官方这么说,我改造了一下监听和写入的代码

//调用微信监听的代码
 this.notifyBLECharacteristicValueChange(deviceId, serviceId, characteristicId);
//等待 500 毫秒,然后执行写入操作,改造以后,问题没有复现过
          setTimeout(function() {
            //写入一系列的命令
            that.writeCmd();
          }, 500);

虽然慢一点,但是整体流程不会出错

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。