[UTS蓝牙插件文档] writeSPPValue 接口描述文档
writeSPPValue
通过已建立的 SPP 连接发送二进制数据。
所属能力组:经典蓝牙 SPP(Serial Port Profile / RFCOMM)串口通信
支持平台:Android、鸿蒙 NEXT(iOS 不支持,统一回调错误码10020)
功能说明
向指定的 socketId 连接写入数据。socketId 既可以是 createSPPClient 主动连接得到的,也可以是服务端 onSPPClientCreateByServer 事件上报的。
- SPP(RFCOMM)无 BLE 的 MTU 分包概念,可一次性发送整段数据;插件内部在子线程执行写入,单连接内的写入已串行化。
- 写入的数据以
number[](每个元素 0~255 的字节)传入。
请求参数 WriteSPPValueOptions
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| socketId | number | 是 | - | 目标 SPP 连接的唯一标识 |
| value | number[] | 是 | - | 待发送的二进制数据(字节数组) |
| success | function | 否 | - | 接口调用成功的回调函数 |
| fail | function | 否 | - | 接口调用失败的回调函数 |
| complete | function | 否 | - | 接口调用结束的回调函数(成功、失败都会执行) |
不传
success/fail/complete时,接口返回 Promise。
成功回调结果 ApiCommonResult
| 字段 | 类型 | 说明 |
|---|---|---|
| errCode | number | 错误码,成功时为 0 |
| errMsg | string | 错误信息,成功时为 writeSPPValue:ok |
返回 Promise
未传任何回调时返回 Promise<ApiCommonResult>。
错误码
| 错误码 | 说明 |
|---|---|
| 10019 | SPP 连接不存在(socketId 无效) |
| 10023 | SPP 发送失败 |
| 10000 | 未初始化蓝牙适配器 |
| 10008 | 系统异常 |
| 10020 | 当前平台不支持 SPP(iOS) |
示例
import * as UTSBLE from '@/uni_modules/xl-uts-bluetooth/jssdk/BLE.js';
// 发送一段 ASCII("Hello")
UTSBLE.writeSPPValue({
socketId: 1,
value: [0x48, 0x65, 0x6C, 0x6C, 0x6F],
success: () => {
console.log('发送成功');
},
fail: (err) => {
console.error('发送失败', err.errCode, err.errMsg);
},
});
// Promise 风格
await UTSBLE.writeSPPValue({ socketId: 1, value: [0x01, 0x0A, 0xFF] });

浙公网安备 33010602011771号