wx.writeBLECharacteristicValue该方法发送的长度过长,wx.onBLECharacteristicValueChange接收到的数据会把超出的给抹掉。将字符串分段成适合长度,多次调用 wx.writeBLECharacteristicValue写入时,wx.onBLECharacteristicValueChange仅仅只调用一次,值为第一次发送的数据。
收到,那就是安卓平台上的问题。
问题可以详细说说看么?
1. 写入的特征值是支持 write 还是 writeWithoutResponse?
2. 如果是支持write的话,多次调用时有等待上一次写入成功后再执行下一次写入么?
3. notify的行为是由iPhone机器的蓝牙广播程序决定的,那程序的逻辑是收到写入数据后直接进行notify么?
我的蓝牙广播数据是通过iphone手机,安卓机通过小程序搜索,然后发送数据到iphone机。wx.writeBLECharacteristicValue多次写入后wx.onBLECharacteristicValueChange执行不及时,导致数据丢失。
比如我现在写入5个数据,每个20个字符。按常理,应该写入一个,就会执行onBLECharacteristicValueChange一次,然而问题就出在这,有时写入5个,wx.onBLECharacteristicValueChange执行4次或者3次,导致接收到的数据不完成整。
@A_CHNZ
特征值最好只支持write或者writeWithoutResponse;
安卓平台写入之间可能得设置一个timeout,现在同时频繁写入多次会有点问题,6.5.13版本会fix,你微信号多少呢?