2014-07-15 126 views
0

使用我的Nexus7上的android 4.4 BLE API,我能夠成功地與外設BLE設備進行交互 - 連接,斷開連接,讀取,寫入....android BLE - 自發斷開後自動重新連接

然而,如果一個活躍連接出於某種原因中斷(在這種情況下,外圍復位),我遵守以下行爲....

  • 我的外設(設計)後的任何廣告開始活動連接被終止(無論什麼原因);我可以通過我的藍牙數據包嗅探器看到這一點....

  • 我收到onConnectionStateChanged回調,如我的Android應用程序所預期的那樣,在此時我調用close()在我的活動BluetoothGatt實例上;這是我在從客戶端發起的「正常」斷開連接期間遵循的相同過程...

  • 此後不久,android BLE堆棧嘗試將重新連接到到相同的外設;通過數據包嗅探器,我可以看到BLE連接請求走出去在空中...

我的應用程序,但是,並未提出重新連接;實際上,我看不到任何藍牙日誌暗示這甚至發生!

BLE堆棧中是否存在某些「模式」,嘗試自動重新建立連接的連接?

感謝....

回答

0

,如果你調用BluetoothGatt#connectGatt()時使用autoConnect=true我觀察到這種情況的發生。 一般我發現最好使用autoConnect=false,但有些設備除非使用true,否則根本無法連接,所以我通常都使用這兩種設備。我首先嚐試false,如果失敗,則使用true,然後描述的行爲就是您必須解決的問題。

相關問題