我有一個Android手機應用程序(3.0),需要定期輪詢Web API的數據。
即使移動到背景,我也想保持它的活力。我跟着this post一般建議和PARTIAL_WAKE_LOCK
水平,這是在應用程序的onCreate方法創建WakeLock沒有保持Phonegap應用程序活動
pm = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, org.apache.cordova.CordovaActivity.TAG);
wl.acquire();
我也有onTerminate()
我看到的行爲wl.release()
調用執行的WakeLock
(帶日誌記錄)是,即使屏幕變暗,應用程序也會繼續運行(定期輪詢服務器數據)。但是當我切換到另一個forgraound應用程序時,投票將在幾分鐘後停止。
更新:我有所需的權限清單文件
<uses-permission android:name="android.permission.WAKE_LOCK" />
我在印象之下wakelocks旨在保持設備在您的應用程序在前臺運行時處於活動狀態,而不是在後臺運行時保持活動狀態和其他應用程序在前臺。後臺服務可能是一種讓您的應用長時間保持在後臺運行的方式(並且使用的電池電量少於喚醒鎖) – DaveAlden