在Core Bluetooth中,連接到設備後,我關閉設備並斷開設備連接。但是當我再次打開設備時,再次調用didDiscoverPeripheral
。我怎樣才能重新連接到設備?如何在Core Bluetooth中斷開連接後重新連接設備
5
A
回答
12
當您斷開與cancelPeripheralConnection
設備的連接時,將調用didDisconnectPeripheral
委託方法。但是從iOS 6.0開始,設備保持連接大約40-50秒(或更多),因此在該時間段內將不會調用didDiscoverPeripheral
。如果您想再次「發現」,只需撥打retrieveConnectedPeripherals
方法即可獲得參考文獻didRetrieveConnectedPeripherals
。
但是,最好的解決方案是保存設備的UUID並使用它來重新連接retrievePeripherals
方法。這將調用didRetrievePeripherals
,您可以重新連接connectPeripheral
。這是重新連接到設備的最快方式,在這種情況下不需要掃描。
2
當您使用scanForPeripheralsWithServices
進行掃描時,它通常只會通知您一次特定設備地址。您可以通過指定選項CBCentralManagerScanOptionAllowDuplicatesKey
將其更改爲報告重複項。或者您可以讓您的應用程序檢測到其他設備使用超時斷開連接,然後重新啓動掃描。
2
在CoreBluetooth中所有的管理都是由應用層完成的。 在你的情況下,我會做的是聽取斷開事件,而不是在同一事件,重新連接外設。 連接方法是一種便宜的連接方法,可確保您在重新連接至設備時連接到設備。
請注意,如果您明確斷開設備,則收到相同的斷開連接事件,但您不必調用reconnect方法。
相關問題
- 1. perl dbi重新連接斷開連接
- 2. 如何在plsql程序中斷開連接並重新連接
- 3. Android BLE GATT斷開連接與設備斷開連接
- 4. socket.io在斷開連接後不重新連接
- 5. 如何在連接中斷後自動重新連接Oracle連接池?
- 6. 斷開連接,然後重新連接引腳
- 7. 關閉並重新打開後,如何在後臺重新連接BLE設備?
- 8. 斷開連接後重新連接到串口
- 9. 正確斷開連接並重新連接異步連接
- 10. 如何在斷開連接後乾淨地重新連接boost :: socket?
- 11. Socket.io:如何在斷開連接後重新連接時執行某些操作?
- 12. 如何從客戶端斷開連接並重新連接socket.io?
- 13. 如何重新連接斷開的連接
- 14. 如何斷開連接時重新連接到SQLServer?
- 15. javax.comm:設備斷開連接時出錯
- 16. 設備沒有斷開連接
- 17. Ble外圍設備已斷開連接
- 18. mqtt設備定期斷開連接
- 19. SocketException:重新連接後重新連接
- 20. Python:PySerial隨機與設備斷開連接
- 21. KryoNet:連接後立即斷開連接
- 22. 休眠(S4)(或斷開連接)後如何與MS SQL重新連接?
- 23. Java 7:線程重用? (斷開連接 - 重新連接)
- 24. 無法斷開連接並重新連接套接字(C++,winsock2)
- 25. 檢測到在Qt上連接/斷開連接的新USB設備
- 26. EF:如果斷開連接,重新連接到數據庫
- 27. 藍牙設備連接/斷開連接時廣播嗎?
- 28. 中斷後重新連接TCPClient
- 29. 重新連接斷開連接的客戶端套接字
- 30. Socket.io在斷開連接時重新連接?
我正在尋找相同的EAAccessory框架。可能嗎?如果有的話,誰能指導我「如何」?提前致謝...:) –