我用了write方法返回成功了,但是蓝牙打印机一点儿反应都没有,苦恼,求帮助,返回值 res = {errCode: 0, errMsg: "writeBLECharacteristicValue:ok"}
有关于writeBLECharacteristicValue参数的问题该接口参数为: [代码]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);[代码] [代码]}[代码] [代码]},[代码]请问大神们 有什么办法可以解决这个问题 在线等!
2019-10-19