2013-08-30 26 views
1

我有一個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" /> 
+1

我在印象之下wakelocks旨在保持設備在您的應用程序在前臺運行時處於活動狀態,而不是在後臺運行時保持活動狀態和其他應用程序在前臺。後臺服務可能是一種讓您的應用長時間保持在後臺運行的方式(並且使用的電池電量少於喚醒鎖) – DaveAlden

回答

0

你有你的清單所需permission集設置?

<uses-permission android:name="android.permission.WAKE_LOCK" /> 

Phonegap plugin Powermanagement

+0

是的。忘了提及, –

+0

現在好了,這是工作。 –

+0

你好@RonHarlev你能夠達到結果。我也試圖讓手機處於睡眠模式時顯示我的應用程序。當事件發生時,我需要喚醒電話。我嘗試了wakelock,但它並沒有喚醒電話。 –

相關問題