我遇到了Android BLE堆栈导致的随机断开连接的问题。
在调用device.connectGatt之后,我在我的onConnectionStateChange方法中收到一个状态为133的disconnect。我已经在运行各种Android版本的多个设备上进行了测试,而且大多数都是这样的。(或多或少)
我读到过其他案例,这种行为似乎是由太多的请求或错误的注册指示引起的,但在我的案例中,在断开之前甚至没有活动的连接。此外,我还确保在此之前,除了connect请求之外,没有向设备发送任何其他请求。
希望有人能帮我解决这个问题。
发布于 2017-10-24 17:21:10
在“老的”Android版本上支持BLE可能是相当危险的,并且BLE机制不容易掌握。
我和你有同样的问题。我目前使用的是RxAndroidBle,但它基本上是OS的包装器,非常方便工作,所以我推荐它。
在处理BLE时,您必须记住以下几点:
在较旧的版本中,当您在不扫描的情况下尝试连接到设备时,您必须(相当神秘地)将boolean autoConnect参数设置为true。
我只是不能在我的BLE设备上连接Android < 6,设置这个参数,瞧,神奇的事情发生了。
https://stackoverflow.com/questions/46906419
复制相似问题