uni-app 华为mate 30 pro 向低功耗蓝牙设备特征值中写入二进制数据 提示的是10007
uni-app 华为mate 30 pro 向低功耗蓝牙设备特征值中写入二进制数据 提示的是10007
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | w10 | HBuilderX |
示例代码:
// 向蓝牙设备发送一个0x00的16进制数据
uni.writeBLECharacteristicValue({
// deviceId:that.shebei_deviceId.toString(),
serviceId:that.serviceId,
characteristicId:that.characteristicId,
deviceId:'19:06:05:C0:00:DE',
// serviceId:'0000FFE0-0000-1000-8000-00805F9B34FB',
// characteristicId:'0000FFE1-0000-1000-8000-00805F9B34FB',
value: that.string2buffer('FAAF031E1D'),
success(res) {
console.log('写入成功')
},
fail(ret) {
console.log('写入失败');
console.log(ret);
// that.$api._error('写入设备失败!');
that.$api._error(ret.code);
},
complete(rets){
console.log('写入完成',rets);
}
})
操作步骤:
- 没有一次成功的
预期结果:
- 预计是写入成功,
实际结果:
- 实际上是写入失败
bug描述:
华为手机,获取到手机的serviceId(),characteristicId(),还有目标设备的deviceId(用的是mac值,值为:),但是提示的是写入失败,能连接上目标设备,目标设备有提示连接音,所以可以确定连接上了,但是在写入的时候,提示的是10007.
更多关于uni-app 华为mate 30 pro 向低功耗蓝牙设备特征值中写入二进制数据 提示的是10007的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
最后怎么样了,大哥
更多关于uni-app 华为mate 30 pro 向低功耗蓝牙设备特征值中写入二进制数据 提示的是10007的实战教程也可以访问 https://www.itying.com/category-93-b0.html
错误代码10007表示BLUETOOTH_WRITE_CHARACTERISTIC_VALUE_FAIL
,即向蓝牙特征值写入数据失败。根据您的代码和描述,可能的原因及解决方案如下:
-
特征值权限问题:目标特征值可能不支持写入操作(无Write权限)。请通过
uni.getBLEDeviceCharacteristics
确认特征值的properties是否包含write
属性。 -
数据格式错误:
string2buffer
方法需确保生成ArrayBuffer
。建议直接使用:value: new Uint8Array([0xFA, 0xAF, 0x03, 0x1E, 0x1D]).buffer