簡體   English   中英

當后台或手機中的應用處於鎖定狀態時,iOS BLE外圍設備掃描

[英]iOS BLE peripheral scanning when app in background or phone is in lock state

當前正在與需要對外圍設備進行后台掃描的應用一起使用。 在初始化外圍設備的掃描時,我們需要允許復制密鑰。

我已經編寫了一個示例應用程序來對此進行實驗。 我已在我的應用程序中啟用了后台功能以實現有限狀態運行。我發現,當應用程序為后台時,發現外圍代理方法中的命中次數非常少。 手機處於鎖定狀態時甚至更少。 對於相同的應用狀態,命中數在不同時間是不同的。 我們還注意到,當手機處於鎖定屏幕或應用程序處於后台時,啟動連接時會出現問題。

這是預期的行為嗎? 我有想念嗎?

任何幫助表示贊賞。

該文檔說:

當您的iOS應用處於后台或掛起狀態時,其與藍牙相關的功能會受到影響。 […]即使您聲明了一種或兩種[后台執行模式],當您的應用程序在后台運行時,某些藍牙任務也會以不同的方式運行。 在設計應用程序時,您需要考慮這些差異。

系統甚至可以隨時終止支持后台處理的應用程序,以釋放當前前景應用程序的內存。 從iOS 7開始,Core Bluetooth支持保存中央和外圍設備管理器對象的狀態信息,並在應用啟動時恢復該狀態。 您可以使用此功能來支持涉及藍牙設備的長期操作。 來源

如果所有正在掃描外圍設備的應用程序都在后台運行,則中央設備掃描廣告包的時間間隔會增加。 結果,發現廣告外圍設備可能需要更長的時間。 來源

在plist中聲明您的應用程序時,它可以在后台掃描,但功率/性能有限,以節省電池,並且可能被系統殺死。

不確定,但我認為手機鎖定時無法連接。 您只能還原以前的連接。

在此處有有關背景藍牙操作的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM