强制关闭连接到 Android 应用程序的 BLE 设备会触发状态为 8 的 onConnectionStateChange
Posted
技术标签:
【中文标题】强制关闭连接到 Android 应用程序的 BLE 设备会触发状态为 8 的 onConnectionStateChange【英文标题】:Forcefully turning off BLE device connected to Android app fires onConnectionStateChange with status 8 【发布时间】:2015-11-15 10:43:23 【问题描述】:我有一个使用 BLE API 连接到 BLE 设备的 android 应用。如果我连接到设备,然后在几秒钟后关闭设备的电源,我会在 logcat 中看到这一行:
11-15 12:33:07.977 27829-27847/com.mycompany.platform.hellodev D/BluetoothGatt: onClientConnectionState() - status=8 clientIf=6 device=55:1C:6C:86:8A:F8
然后使用status=8
和newStatus=0
调用我们的BluetoothGattCallback
回调onConnectionStateChange
我找不到任何说明 status=8
含义的公共文档。
如果通过newStatus=0
,是否意味着BLE设备已断开连接?
【问题讨论】:
【参考方案1】:我找不到任何说明 status=8 含义的公共文档。
表示由于远程设备没有响应或发生超时,您丢失了连接链接(LINK_LOSS)。
是否可以假设如果传递了 newStatus=0 则意味着 BLE 设备已断开连接?
是,如果 newStatus 为 0,则表示 CONNECTION 状态为空闲,设备现在已断开连接。
【讨论】:
你能确认这是状态 8 的情况吗?令人惊讶的是,这只出现 API 版本 > 19。 @NowaConcordia 绝对,它的连接链路丢失(一般称为链路丢失)。 感谢 Ankit 分享状态 8。 @AAnkit 你有官方来源可以验证你的声明吗?谢谢!以上是关于强制关闭连接到 Android 应用程序的 BLE 设备会触发状态为 8 的 onConnectionStateChange的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 BLE 将 Android 应用程序连接到 Raspberry Pi 3
Android 8.1 连接到调用 connectGatt 的 BLE 外围设备。回调总是说断开连接。从不连接
Android BLE - 连接到多个设备似乎失败并且两个连接的 GATT 响应相同?
为啥在 Android 中将 autoConnect 设置为 true 时,App 不会重新连接到 BLE 设备?