0

我有一個BLE的應用程序,有數百個各種設備上的快樂用戶。我的大部分測試都是在Nexus設備上完成的,但用戶報告了HTC M8的問題,所以我剛買了一個。果然,由於某種原因,connectGatt不起作用。它不會拋出任何異常,並且它返回的BluetoothGatt對象不爲空。但我在傳入的BluetoothGattCallback中不會調用onConnectionStateChangeAndroid的BluetoothDevice connectGatt不工作與Android 6.0的HTC M8

我發現有些手機需要connectGatt才能在UI線程中調用,所以我嘗試過但沒有任何改變。

這裏的日誌我得到:

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

您可以使用其他應用程序(如Nordic的nRF主控制面板)從M8連接到同一設備嗎?

HCI snoop日誌是否包含與該問題有關的任何內容?

您是否有權訪問協議分析器?這至少會讓你看到是否有連接發生的嘗試。

+0

好主意。我嘗試過,並且無法從Android 6.0的M8上的nRF MCP連接到它。雖然它運行5.1.1我的Nexus 4運行正常。 (FWIW設備可以在Android 6.0中爲我自己和許多用戶以及其他設備連接)。 –

+0

下面是Wireshark的屏幕截圖,用於嘗試建立連接時M8的HCI監聽日誌(設備的mac地址在突出顯示的行中的幀中可見)。 http://files.cousins-sears.com/3Q3j0r1o1O3p它看起來像連接嘗試,然後取消11秒左右。不幸的是,我沒有訪問協議分析器。 –

+0

您能分享該命令狀態事件的詳細信息嗎?它可能包含關於這裏發生的事情的線索。 –

相關問題