我有一个BLE应用程序,在各种设备上拥有数百名满意的用户。我的大多数测试都是在Nexus设备上完成的,但是用户报告了HTC M8的问题所以我刚买了一个。果然,出于某种原因,connectGatt
无效。它不会抛出任何异常,它返回的BluetoothGatt对象不为null。但我传入的BluetoothGattCallback中的onConnectionStateChange
从未被调用过。
我发现一些报告称某些手机需要在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
然后沉默......
有什么想法吗?谢谢!
答案 0 :(得分:0)
您可以使用其他应用程序(如Nordic的nRF主控制面板)从M8连接到同一设备吗?
HCI snoop日志是否包含与此问题相关的任何内容?
您是否可以访问协议分析器?这至少可以让你看到是否有尝试连接发生。