HarmonyOS鸿蒙Next中蓝牙BLE数据写入时报错{"code":-10,"message":"Inner error."}

HarmonyOS鸿蒙Next中蓝牙BLE数据写入时报错{“code”:-10,“message”:“Inner error.”}

蓝牙ble数据额写入时报错{"code":-10,"message":"Inner error."}

3 回复

看了官网蓝牙没有-10的报错码,是其他地方报错的吗?能提供个demo不

更多关于HarmonyOS鸿蒙Next中蓝牙BLE数据写入时报错{"code":-10,"message":"Inner error."}的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,蓝牙BLE写入报错-10通常表示底层服务异常。可能原因包括:

  1. 目标特征值不可写;
  2. 设备未处于可连接状态;
  3. GATT服务未发现完成即发起写入。

需确认:

  1. 已正确获取可写特征值对象;
  2. 设备连接状态为CONNECTED;
  3. 在onCharacteristicWrite回调触发后再进行下一次写入。

检查写入数据长度是否符合设备MTU限制。

在HarmonyOS Next中遇到蓝牙BLE数据写入返回错误码-10(“Inner error”)时,通常有以下几种可能原因和解决方案:

  1. 连接状态问题:
  • 确保设备已成功建立BLE连接
  • 检查目标特征值是否支持写入操作(characteristic.properties是否有WRITE权限)
  1. 数据格式问题:
  • 确认写入的数据格式符合特征值要求
  • 数据长度不能超过MTU限制(通常20字节)
  1. 并发操作问题:
  • 避免同时进行多个写入操作
  • 确保前一个操作完成后再发起下一个
  1. 常见修复方法:
  1. 重新连接蓝牙设备
  2. 检查特征值属性:
let properties = characteristic.properties;
if(!(properties & BLECharacteristicProperties.WRITE)) {
    // 特征不支持写入
}
  1. 分段写入大数据(超过MTU时)

建议通过try-catch捕获异常并检查设备日志获取更详细的错误信息。

回到顶部