我有一个 BLE 应用程序,在各种设备上拥有数百名满意的用户。我的大部分测试都是在 Nexus 设备上完成的,但一位用户报告了 HTC M8 的问题,所以我只买了一个。果然,由于某种原因connectGatt
不起作用。它不会抛出任何异常,并且它返回的 BluetoothGatt 对象不为空。但是onConnectionStateChange
在我传入的 BluetoothGattCallback 中永远不会被调用。
我发现一些报告说一些手机需要在 UI 线程上调用 connectGatt,所以我尝试了,但没有任何改变。
这是我得到的日志:
D/BluetoothGatt: connect() - device: CE:FA:92:61:A3:4F, auto: false
D/BluetoothGatt: registerApp()
D/BluetoothGatt: registerApp() - UUID=f7a1a0e9-0d45-4b71-9457-9adf6ccb4bf8
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5
然后沉默...
有任何想法吗?谢谢!