测试流程:
1.蓝牙开启
2.发现设备
3.连接设备
4.获取UUID、特征值
5.启用设备特征值变化时的 notify 功能notifyBLECharacteristicValueChange成功
6.监听低功耗蓝牙设备的特征值变化onBLECharacteristicValueChange成功
7.发送数据writeBLECharacteristicValue成功
8.蓝牙设备收后返回一串156字节长的数据,已经按20字节分好包(从硬件调试工具看到收发已成功)
9.小程序用“6”中注册的onBLECharacteristicValueChange回调接收多个数据包合并起来完成整个流程
测试结果:
1.ios [ Iphone6,IOS8.4.1,Wechat6.6.1,WeChatLib:1.9.1(2018.1.4) ]
结果:所有步骤一次成功,数据收发完整无误,多次测试均流畅稳定,截图如下:
2.android [小米MIX,Android7.0,WeChat6.6.1,WeChatLib:1.9.1(2018.1.4)]
结果:1-8均正常,硬件调试工具显示已经收到小程序发来的数据,也向小程序返回了156字节参数但是小程序的onBLECharacteristicValueChange回调并没有收到数据!第5、6步均成功说明回调注册没问题,但没有收到数据是否属于bug?截图如下:
尝试:
在发送数据成功时添加 readBLECharacteristicValue ,此时可以收到数据,但只能收到最后一个包!!
问题:
小程序安卓版的 onBLECharacteristicValueChange 函数接口是否有bug?或者我的程序处理有问题?有没有朋友遇到过这个问题欢迎留言也请官方释疑,谢谢!