HarmonyOS SPP蓝牙连接报错

在使用经典蓝牙(spp)模块进行蓝牙连接时,系统报错{“code”:2900003,“message”:“BussinessError 2900003: Bluetooth switch is off.”}

我这边目前的流程是,手机作为客户端发起配对,配对成功之后我会去连接打印机,但是连接之后就会报这个错{“code”:2900003,“message”:“BussinessError 2900003: Bluetooth switch is off.”}

示例代码:

connection.pairDevice(deviceId);
connection.on('bondStateChange', (bondState: connection.BondStateParam) => { // data为回调函数入参,表示配对的状态
  if (bondState.state == connection.BondState.BOND_STATE_BONDED) {
    let sppOption: socket.SppOptions = {
      uuid: '00001810-0000-1000-8000-00805F9B34FB',
      secure: false,
      type: 0
    };
    socket.sppConnect(deviceId, sppOption, (err: BusinessError, number: number) => {
      console.log(JSON.stringify(err))
    });
  } else if (bondState.state == connection.BondState.BOND_STATE_BONDING) {
    console.log("配对中...")
  } else {
    failCallback && failCallback({ errCode: -1, errMsg: "蓝牙配对失败" });
  }
});
HarmonyOS
8天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

关于2900003问题: 首先,远端设备是什么设备?是否适配socked模块功能? 正常情况下,socket通过sppConnect连接的对端设备,是需要对端设备已经通sppListen和sppAccept接口创建服务监听、等待客户端连接的,这一点需要确认一下。

其次,若对端设备已经通过sppListen和sppAccept接口创建服务监听、等待客户端连接,请确保对端设备创建监听时的uuid和客户端使用到的uuid保持一致。

最后,若是上述都不行的话,请尝试清除与对端设备的基本蓝牙连接信息,重新建立基础连接,然后再进行socket连接测试。

如果打印机已经具备socket模块功能,只需要调用sppConnect连接打印机即可。

如下写法:

link() {
  socket.sppConnect(this.deviceId, { uuid: '00001126-0000-1000-8000-00805f9b34fb', secure: false, type: 0 },
    (code, socketID) => {
      if (code != null) {
        console.error('客户端sppConnect error, code = ' + (code as BusinessError).code);
        return;
      }
      this.clientNumber = socketID
      console.info('客户端sppConnect success, socketId = ' + socketID);
    })
}

连接时请检查蓝牙开启状态,deviceId和uuid配置是否有误

分享
微博
QQ
微信
回复
8天前
相关问题
蓝牙连接报错该如何处理?
610浏览 • 1回复 待解决
HarmonyOS wifi连接报错2501000
234浏览 • 1回复 待解决
HarmonyOS socket tcp连接报错
187浏览 • 1回复 待解决
Socket连接报错,错误码88
1912浏览 • 1回复 待解决
润和轻量系统mqtt连接报错误码2
2064浏览 • 0回复 待解决
怎么解决mysql远程连接报10038的错误?
2348浏览 • 1回复 待解决
HarmonyOS 蓝牙连接配对接口问题
114浏览 • 1回复 待解决
HarmonyOS 蓝牙connect方法报错
135浏览 • 1回复 待解决
HarmonyOS蓝牙连接后获取GATT服务失败
854浏览 • 1回复 待解决
HarmonyOS 蓝牙socket.sppWrite 报错
106浏览 • 1回复 待解决
c# 低功耗蓝牙 连接多个设备
3391浏览 • 1回复 待解决