2016-08-03 52 views
1

我的Android應用程序使用的Android BLE連接速度問題

BluetoothAdapter.startLeScan() 

掃描結果之前手動要求它停止通過按下一個按鈕。

將這樣的態度影響的BLE連接時間的時間?

我覺得當藍牙服務綁定掃描被鎖定,連接建立後,暢通,沒有任何代碼編寫。這是正確的嗎?

連接時間因時而異。平均需要大約1〜2秒,但有時需要5到6秒甚至更多。爲什麼會這樣呢?

回答

1

將這樣的態度影響的BLE連接時間的時間?

有時可能。連接過程是通過發送連接請求啓動的,之後該設備進入連接狀態。如果在設備進入連接狀態之前手動停止掃描,則可能會中斷後續連接。

我覺得當藍牙服務綁定, 和暢通連接建立後,沒有任何代碼 寫掃描受阻。這是正確的嗎?

是的。

連接時間變化不時。平均需要大約1〜2秒,但有時大約需要5到6秒甚至更多。 這是爲什麼會發生?

原因有很多,你可以先考慮的一個主要原因。這是BLE設備的特殊操作模式。他們不是一直活動,而是定期活動。例如,它每10秒激活100ms,並在其他9.9s激活。如果您在BLE設備剛剛進入睡眠狀態時開始掃描,那麼您需要超過9.9秒。

其次,問題可能是由於您的Android設備。檢查它何時發送連接請求,並且有任何其他任務或事件可能會中斷連接過程。

第三,是否存在干擾?也許WIFI或USB 3.0。

+0

感謝您的回覆。但我仍不能完全理解最後一個。這不是關於掃描,而是建立連接。我不認爲我使用的設備從不睡覺。如果我開始掃描,掃描器回調會每隔1秒調用一次。 – March3April4

+0

@ March3April4在連接開始時,您可以使用嗅探器來捕獲空中包。基於這些數據包,您可能會發現問題。 –