赞
踩
我正在开发一个通过BLE与设备进行通信的Android应用(API 23).没有配对/绑定.
交互的快乐路径是,应用程序连接然后将消息发送到设备,设备依次发送回信,然后它们都断开连接.
在描述我在Android BLE unexpectedly reconnects potentially from PBAP / MAP Bluetooth profiles中提出的奇怪行为的特征时,我创建了一个简单的服务来监视低级蓝牙连接.它侦听BluetoothDevice.ACTION_ACL_CONNECTED和BluetoothDevice.ACTION_ACL_DISCONNECTED的广播.
虽然在大多数情况下,应用程序和设备之间的连接/断开连接很好,但有时应用程序会收到断开连接通知,该通知可能在应用程序和设备都关闭连接后约5-20秒.我已验证该设备实际上已关闭,并且该应用程序日志均显示系统正确关闭了连接.
在这些情况下,如果应用在广播ACL_DISCONNECTED之前尝试再次与设备连接,它将收到错误消息,或者随后的连接请求在ACL_DISCONNECTED广播之后开始排队并启动.
这似乎不是特定于设备的-我测试了各种品牌和型号-也没有API版本(23-25).
>这是已知的(预期的)行为吗?
>是否有缓解此问题的方法?…以确保断开确实确实及时发生?
>是否有更直接的方法(例如,通过API调用)来判断连接是否仍处于建立状态,而不是接收与ACL相关的广播?
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。