Android BLE 连接上立即断开

最近开发遇到一个很烦的问题,App成功连接蓝牙后(STATE CONNECTED)就会立即断开(STATE DISCONNECTED),在网上搜了很久的没有答案。我每次连接之前都睡disconnect和close,但是没什么作用。

连接框架没问题的话是不是硬件没写好啊

看来要自问自答了。我修改了代码后情况有所改善,之前我把GATT连接的代码写在子线程,现在写回主线程或者MainLooper后就很少出现状态STATE CONNECTED立即变为STATE DISCONNECTED的情况。不过现在的新闻提示连接速度很慢,最快3~4秒能连上,通常30秒以内能连上,但是有时候要两分钟。如果有什么方法能行的话就采纳吧。

你刚用的是BLE 4.0吗?

我是用 service + broadcast 的方式,解决了这个问题。可能还是你的写法有问题。可以参考我的 demo https://github.com/hgncxzy/BleDemo