BLE 长时间通讯失败。 错误10003 是什么原因?
发布于 5 年前 作者 taoxiong 9490 次浏览 来自 问答

相同code   相同ble设备

在mac调试工具正常。(可持续 且 ble不曾断开)

但在 android 和 ios 真机上  ble 长时间通讯报错。

场景:

手机与ble设备 进行交互   手机屏幕常亮  不进入锁屏模式

ble —[消息]–> 手机 --[消息]–>ble

持续1-2分钟左右  ble连接断开 打印如下错误  请问是什么原因?

3 回复

我又换了一些手机来进行蓝牙长时间测试实验。

结果是大多数android设备都可以保持长连接 但iphone7 6 都不能保持长连接。断开时间为1:30秒左右。   ble是同一个设备。

这个问题更像是 底层协议问题 。微信是否对 ble连接在部分手机上没有做保护或者握手机制?

iOS和安卓蓝牙系列接口基本是透传系统返回的蓝牙结果与数据,微信在中间层没做太多工作,希望做到的是将系统的蓝牙接口裸出来。

这个错误是蓝牙设备将连接主动断开,客户端收到连接断开事件,回调到  wx.onBLEConnectionStateChange(CALLBACK)  函数。

如果只是需要保持连接的话也可以在这个回调函数中调用  wx.createBLEConnection(OBJECT) 进行自动重连。

回到顶部