我写了一些代码来将我的 android 手机连接到一个 ble 设备。当我关闭 ble 设备的电源时,我的手机需要几秒钟(2-20 秒)通知我它已失去与 ble 设备的连接。有什么办法可以立即通知我吗?我可以更改连接监督超时吗?

最佳答案

当 Ble 设备发送断开连接 cmd 时,它等待来自 android 应用程序的确认。如果收到 ACK 它将立即断开连接,否则将等待直到监督超时发生。通常在与 Android 应用程序连接时,ble 设备(外设)必须遵守 app(中央)连接参数(连接间隔、延迟、监督超时) )。
Android 中的监督超时硬编码为 20 秒,因此我们在断开连接时有 20 秒延迟( Referrence )
为了解决这个问题,我在 5 秒后从 BLE 设备发送了一个连接参数更新请求,将监督超时更新为 1 秒。我用很少的android设备进行了测试,发现断开连接的延迟得到了解决。

关于Android Ble 断开时间延迟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33374165/

10-12 04:52