我写了一些代码来将我的Android手机连接到ble设备。当我关闭ble设备时,我的手机需要几秒钟(2到20秒)才能通知我它已经丢失了与ble设备的连接。有没有办法可以立即通知我?我可以更改连接监督超时吗?
答案 0 :(得分:0)
当Ble设备发送断开连接cmd时,它等待来自Android应用程序的确认。如果接收到ACK,它将立即断开连接,否则它将等到监督超时发生。通常在连接Android应用程序时,ble设备(外围设备)必须遵守app(中央)连接参数(连接间隔,延迟,监督超时) )。 Android中的监督超时硬编码为20秒,因此我们在断开连接时会有20秒的延迟(Referrence) 为解决此问题,我在连接将监控超时更新为1秒后,在5秒后从BLE设备发送了连接参数更新请求。我测试了很少的Android设备,发现断开连接的延迟已经解决了。