[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] });
posted @ 2026-10-15 17:21  dxl98  阅读(14)  评论(0)    收藏  举报