2017-10-09 179 views
0


我試圖開發一個應用程序,通過BLE連接到我的來自德克薩斯州的CC2650傳感器標籤。
我能夠使用GATT協議連接到我的標籤問題是,如果我連接時連接失敗,它不會恢復。但是,如果我將手機重新連接到設備,並重復此過程(關閉並打開標籤),它會自動重新連接到手機。
我只是不明白第一個行爲和重新連接後的區別...
任何想法?
Alex奇怪的BLE行爲Android

回答

0

Android應該記錄得更好。無論如何,這裏是解釋:

當您將connectGatt(https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback))與autoConnect設置爲false時,這隻會使設備的一次性連接。當它斷開連接時,它不會重新連接。

當您使用BluetoothGatt對象上的.connect()方法進行連接時,與關閉當前的BluetoothGatt對象相同,然後再次使用connectGatt連接並將autoConnect參數設置爲true。

當autoConnect參數設置爲true時,表示您希望永久保持設備連接狀態,即無論出於何種原因斷開連接,Android都會嘗試嘗試重新連接到設備。

您可以在此查看我的autoConnect差異列表:https://stackoverflow.com/a/40187086/556495

+0

非常感謝。簡單而準確的解釋。 –