HarmonyOS 蓝牙socket.sppWrite 报错?

1、通过socket方式 蓝牙连接打印机

2、连接成功后 参照api文档 调用socket.sppWrite

clientNumber已经成功获取 手机也已经和打印机匹配

let arrayBuffer1 = new ArrayBuffer(8);
let data1 = new Uint8Array(arrayBuffer1);
data1[0] = 123;

try {
  socket.sppWrite(this.clientNumber, data1);
} catch (err) {
  console.error(
    'errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message
  );
}

报错信息

[napi\_bluetooth\_utils.cpp(ParseArrayBuffer:129)]can not get arraybuffer, error is 19

[napi\_bluetooth\_spp\_client.cpp(CheckSppWriteParams:229)]ParseArrayBuffer failed.

[napi\_bluetooth\_spp\_client.cpp(SppWrite:242)]bluetoothManager napi assert failed.

errCode: 401, errMessage: BussinessError 401: Invalid parameter.

阅读 526
1 个回答

nvalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.。

确认一下入参是否正确

let arrayBuffer1 = new ArrayBuffer(8);
let data1 = new Uint8Array(arrayBuffer1);
data1[0] = 123;

try {
  socket.sppWrite(this.clientNumber, arrayBuffer1 );
} catch (err) {
  console.error(
    'errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message
  );
}

data1 参入替换 arrayBuffer1 试一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进