簡體   English   中英

每隔5分鍾Phonegap在后台喚醒應用程序以檢查iOS位置

[英]Phonegap every 5 minutes wake app in background to check location iOS

我正在Phonegap中構建一個位置感知應用程序,該應用程序必須在后台 定期檢查位置,以確定用戶何時進入/退出特定位置。 這個問題專門針對iOS。 重大更改API對我不利,因為它的准確度水平更像是街機而非建築物,而后者正是應用程序所需要的。

到目前為止,在閱讀完有關問題的出色答案中的注釋后,我設法通過結合以下后台模式聲明( 在config.xml中 )使應用程序在后台運行:

<gap:config-file platform="ios" parent="UIBackgroundModes" mode="replace">
    <array>
        <string>location</string>
    </array>
</gap:config-file>

並在應用啟動后在前台運行時調用:

navigator.geolocation.watchPosition(...)

我需要的是:

  1. 該應用程序將在兩次 間隔之間完全掛起 (因為它將耗盡電池電量,使該應用程序整天在watchPosition下的BG中運行 ),並且醒來只是每次執行一次getcurrentPosition + POST到服務器。
  2. 該應用程序將在設備啟動后立即進入該例程。

所以:

我想我可能想知道的是他們在這里談論的內容(但這是本機的,與Phonegap無關)。

誰是通過Phonegap方式實現此目標的最佳策略是什么?

你們知道插件或插件組合使之成為可能嗎?

我是否應該濫用定時的遠程通知以使應用喚醒(聽說有可能,不知道蘋果會如何批准...)

還是我必須為此目的制作自己的插件?

任何建議或經驗將不勝感激。

至於問了Q之后過去的幾個月我學到了什么,就不可能在iOS的定時間隔內在后台喚醒應用程序。

我最終可以找到的最佳解決方案:

正如我在問題解答中所述,我的目標是確定用戶何時進入/存在特定的位置(實際上是建築物)。 解決此問題的最佳方法是iOS中的“區域監視API”,一旦設備進入該應用預先確定的特定地理區域,該API就會在后台喚醒該應用。 盡管它有一些局限性,但我們正在嘗試各種優化以略微克服它們。

存在一些用於cordova的插件,這是我最終選擇的插件: https : //github.com/cowbell/cordova-plugin-geofence

花了一些時間來實施...

暫無
暫無

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

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