0

我按照這個參考here而且我不知道自動啓動應用程序燈塔每次當檢測到信標信號

  1. ,它可能當我進入燈塔地區發動我的應用程序每次我已經在時間信標區域和我的設備檢測信標信號。因爲當電源連接改變時,現在增壓器級別仍然可以調用

2.可以定義信標區域的半徑,例如5米。因爲現在我的用例的半徑太寬了。

+0

你可以通過執行並檢查它是否適用於你,來回答所有這些問題:) – AndiGeeky

+0

從doc說,這是操作系統的限制。我一直堅持這個問題2天,並找到解決問題的方法。 – siwarak

回答

0

一般情況下,這是可能的,是的。

RegionBootstrap類旨在將您的應用程序自動啓動到後臺以掃描信標並在您進入/退出信標區域時發送回調。因爲操作系統可能會殺死你的應用程序以節省內存,該庫旨在重新啓動應用程序,所以它的後臺掃描服務可以持續幾個條件下運行:

  1. 在5分鐘內的使用Android被殺害AlarmManager
  2. 如果上述操作失敗,則執行電源連接/斷開操作。
  3. 在手機啓動。

繼您提到的參考文獻後,此行爲應該是自動的。

雖然您不能定義半徑爲Region,您可以添加類似的過濾邏輯。一旦你回撥到didEnterRegion,開始在該地區的信標範圍。在測距回調中,如果您看到beacon.getDistance() < 5.0,則只有在信標距離小於五米的情況下,才能執行您希望發生的邏輯。

+0

非常感謝您的回答。我更瞭解圖書館工作和操作系統限制。我會嘗試申請我的申請。 – siwarak

+0

如果我在藍牙打開時創建broadcastreceiver類來查找藍牙狀態,我該如何在onReceive方法中啓動掃描 – siwarak

+0

如果您按照示例在Application類中設置RegionBootstrap,這將是自動的。圖書館將開始嘗試掃描應用程序啓動時,如果藍牙關閉,它將無法做到這一點。一旦打開,它將自動開始掃描。 – davidgyoung

相關問題