收藏
回答

有关于writeBLECharacteristicValue参数的问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.writeBLECharacteristicValue 客户端 6.3.7 2.2.5

该接口参数为:


wx.writeBLECharacteristicValue({
  // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
  deviceId,
  // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
  serviceId,
  // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
  characteristicId,
  // 这里的value是ArrayBuffer类型
  value: buffer,
  success (res) {
    console.log('writeBLECharacteristicValue success', res.errMsg)
  }})

用的比较少. 有一个疑问.当字符转为二进制的时候 得到一个buffer数组. 那么 我要数组要一个一个设备里面传输数据. 速度太慢.


代码:

writeBLECharacteristicValue: function (deviceId, serviceId, writeId, times) {
 
var _this = this;
 
var sendData64 = _this.data.sendData64; //得到的是sendData64 数组.里面存放着很多个ArrayBuffer. 
 
var isTrue = _this.data.isTrue;
 
 
 
if (isTrue) {
 
if (times > sendData64.length){
 
times = sendData64.length;
 
_this.setData({
 
isTrue:false
 
});
 
}
 
wx.writeBLECharacteristicValue({
 
deviceId: deviceId,
 
serviceId: serviceId,
 
characteristicId: writeId,
 
value: sendData64[times - 1],
  
success: function (res) {
 
_this.writeBLECharacteristicValue(deviceId, serviceId, writeId, ++times);//这里回调本方法. 一直把下一个ArrayBuffer传入进去.
 
},
 
fail: function (res) {
 
_this.showTip('传输失败');
 
_this.closeBLEConnection(deviceId);
 
}
 
})
 
} else {
 
_this.showTip('传输完成');
 
_this.closeBLEConnection(deviceId);
 
}
 
},

请问大神们 有什么办法可以解决这个问题 在线等!

最后一次编辑于  07-01  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 天道酬勤
    天道酬勤
    07-01

    有大哥回答一下我的问题吗??

    07-01
    赞同
    回复