[UTS蓝牙插件文档] createSPPServer 接口描述文档
createSPPServer
创建 SPP 服务端(在蓝牙子系统中注册指定 UUID 的 RFCOMM 服务,等待设备连入)。
所属能力组:经典蓝牙 SPP(Serial Port Profile / RFCOMM)串口通信
支持平台:Android、鸿蒙 NEXT(iOS 不支持,统一回调错误码10020)
功能说明
以服务端身份注册一个 RFCOMM 监听套接字,监听指定 UUID。当客户端发起连接时,会通过 onSPPClientCreateByServer 事件上报一个新的 socketId(该连接同样通过 writeSPPValue 收发、通过 closeSPPClient 关闭)。
- 鸿蒙侧
sppAccept是一次性的,插件内部会在每次 accept 到连接后自动续订阅下一次,无需调用方关心。 - 服务端监听套接字本身由
serverId索引,通过closeSPPServer关闭。
请求参数 CreateSPPServerOptions
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| uuid | string | 是 | - | 监听的 RFCOMM 服务 UUID(支持 16/32/128 位) |
| name | string | 否 | - | 服务记录名称(Android 的 SDP 服务名 / 鸿蒙 sppListen 的 name) |
| secure | boolean | 否 | true | 是否为安全连接(认证 + 加密) |
| success | function | 否 | - | 接口调用成功的回调函数 |
| fail | function | 否 | - | 接口调用失败的回调函数 |
| complete | function | 否 | - | 接口调用结束的回调函数(成功、失败都会执行) |
不传
success/fail/complete时,接口返回 Promise。
成功回调结果 CreateSPPServerSuccessCallbackResult
| 字段 | 类型 | 说明 |
|---|---|---|
| serverId | number | 服务端监听套接字的唯一标识,closeSPPServer 以此索引 |
| uuid | string | 监听的 RFCOMM 服务 UUID(已补全为完整 128 位大写) |
| errMsg | string | 错误信息,成功时为 createSPPServer:ok |
返回 Promise
未传任何回调时返回 Promise<CreateSPPServerSuccessCallbackResult>。
错误码
| 错误码 | 说明 |
|---|---|
| 10024 | SPP 服务端监听失败 |
| 10000 | 未初始化蓝牙适配器 |
| 10001 | 当前蓝牙适配器不可用 |
| 10008 | 系统异常 |
| 10020 | 当前平台不支持 SPP(iOS) |
示例
import * as UTSBLE from '@/uni_modules/xl-uts-bluetooth/jssdk/BLE.js';
// 先监听「服务端 accept 到客户端连接」事件
UTSBLE.onSPPClientCreateByServer((res) => {
console.log('有设备连入 serverId =', res.serverId, 'socketId =', res.socketId, 'deviceId =', res.deviceId);
});
// 创建服务端
UTSBLE.createSPPServer({
uuid: '00009999-0000-1000-8000-00805F9B34FB',
name: 'my-spp-server',
secure: true,
success: (res) => {
console.log('服务端创建成功 serverId =', res.serverId);
},
fail: (err) => {
console.error('服务端创建失败', err.errCode, err.errMsg);
},
});

浙公网安备 33010602011771号