HarmonyOS 鸿蒙Next 调用ble.GattClientDevice.connect() 连接低功耗蓝牙出现2900099错误

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 调用ble.GattClientDevice.connect() 连接低功耗蓝牙出现2900099错误

1 调用之前app已申请到ohos.permission.ACCESS_BLUETOOTH 权限;
2 设备蓝牙已开启。
3 调用连接方法
代码:
----------------
connect() {
let gatt:ble.GattClientDevice = null;
try {
gatt = ble.createGattClientDevice(this.bleDevice.mac);
this.mGattClientDevice = gatt;
gatt.on(‘BLEConnectionStateChange’, this._callbackOnBLEConnectionChangeState);
gatt.on(‘BLEMtuChange’, this._callbackOnBLEMtuChange);
gatt.connect();
} catch (err) {
Log.printError(this.TAG, "connect fail. ", err);
this.cloeGatt();
this.mBleConnectCallback?.onConnectFail(this.bleDevice.mac, (err as BusinessError).code);
}
}

3 回复
同样的问题 前几天还是好的 今天发现写数据总是超时,看log有这个错误码。问题是每次连接都是用扫描到的去连接 所以还有其他原因?
您好,使用的mac地址不是真实的mac地址,而是扫描方法回调的mac,设备未配对时,每次扫描的mac都会变化,所以所有蓝牙流程都要基于前置扫描方案实现。

在HarmonyOS鸿蒙Next系统中调用ble.GattClientDevice.connect()方法连接低功耗蓝牙设备时遇到错误码2900099,这通常指示着连接过程中存在某些特定的问题。错误码2900099并非标准蓝牙错误代码,因此可能是由鸿蒙系统内部定义的错误,可能涉及以下几个方面的原因:

  1. 设备权限:确保应用已获取必要的蓝牙权限,包括位置权限(因为蓝牙扫描通常需要位置权限)。

  2. 蓝牙状态:检查设备的蓝牙是否已经打开,并且处于可被发现的状态。

  3. 设备兼容性:确认目标蓝牙设备与鸿蒙系统的兼容性,有些设备可能不完全支持鸿蒙系统的蓝牙API。

  4. 连接参数:检查连接请求中的参数(如超时时间、重试次数等)是否设置合理。

  5. 系统日志:查看系统日志以获取更多关于错误原因的详细信息,这有助于进一步定位问题。

如果上述检查后问题依旧没法解决,请直接联系官网客服,获取更专业的技术支持。官网地址是:https://www.itying.com/category-93-b0.html

回到顶部