HarmonyOS 蓝牙connect方法报错

正常打开app蓝牙连接测试通过,并且app有断连自动重连的逻辑。

问题出现场景:app未退出,蓝牙设备关机,经过一夜后,进行连接 device.connect() 一直报错 PlatformException(2900099, BussinessError 2900099: Operation failed, null, null)

我看文档上对于2900099的解释有点模糊,对于出现这种问题应该怎么解决,是由于什么原因引起的?(是否可能是因为经过一晚上的重连没有连接成功?这个时候我device.close()可以解决吗?)

场景是 昨天晚上本身是已连接,系统已配对已连接,下班我将设备断电,app未退出后台锁屏,今天早上启动蓝牙设备,app打开后蓝牙连接就报这个错误,是否是device需要重新生成?

HarmonyOS
6天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

根据描述,问题很有可能是因为蓝牙设备关机重启导致的,因为设备在关机重启后,其MAC随机地址是会发生改变的,若还使用缓存的device实例的话,是没发再次进行conncet连接的。

重新创建一个device实例就是一个很好的解决方案。

2900099出现的原因,蓝牙这块绝大多数接口都是有可能会出现2900099错误(可以在代码中点击蓝牙模块接口的方法进入源码,其中大多数接口备注都是有提到‘@throws { BusinessError } 2900099 - Operation failed.’),而出现的原因各有不同。

关于2900099这个问题,提供一个思路方向及供参考。

1.检查蓝牙是否处于连接状态,未正常连接情况下调用相关接口会出现异常。

2.检查某些接口是否需要在其他接口调用前提下进行使用,若是a接口需要在b接口调用成功后才能使用,那么若是b接口还未调用成功就调用a接口,那么也会出现问题。

3.检查设备是否使用了相应权限和用户授权。

最后,也可以根据日志排查,检查具体是那个接口调用出现了问题才导致了2900099,然后再进行相应排查。

分享
微博
QQ
微信
回复
6天前
相关问题
HarmonyOS 蓝牙socket.sppWrite 报错
83浏览 • 1回复 待解决
HarmonyOS SPP蓝牙连接报错
94浏览 • 1回复 待解决
蓝牙连接报错该如何处理?
576浏览 • 1回复 待解决
HarmonyOS Mqtt无法Connect成功
87浏览 • 1回复 待解决
AppGallery Connect问题咨询
405浏览 • 1回复 待解决
HarmonyOS asset运行add方法报错
395浏览 • 1回复 待解决
HarmonyOS拍照后调用openSync方法报错
698浏览 • 1回复 待解决
HarmonyOS 支付报错,求解决方法
399浏览 • 1回复 待解决
查询应用信息方法编译报错
318浏览 • 1回复 待解决
HarmonyOS 蓝牙写入失败
91浏览 • 1回复 待解决
HarmonyOS 蓝牙API咨询
515浏览 • 2回复 待解决
HarmonyOS蓝牙使用详情
436浏览 • 1回复 待解决
HarmonyOS ble蓝牙问题
88浏览 • 1回复 待解决
HarmonyOS 蓝牙api问题
97浏览 • 1回复 待解决
HarmonyOS蓝牙广播问题
576浏览 • 1回复 待解决