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