2

我有一个 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

然后沉默...

有任何想法吗?谢谢!

4

1 回答 1

0

您可以使用 Nordic 的 nRF 主控制面板等其他应用程序从 M8 连接到同一设备吗?

HCI 侦听日志是否包含与该问题相关的任何内容?

您可以使用协议分析器吗?这至少可以让您看到是否有连接尝试发生。

于 2016-05-06T06:21:21.320 回答