2011-11-29 76 views
1

我正在製作一個應用程序,用於啓動在特定條件下定期發送SMS消息的服務。這一切都有效,但是當手機處於「待機」狀態(關閉顯示屏)時,我每分鐘會週期性地運行作業(檢查條件+信息發送)。屏幕上的所有功能都沒有問題。如何在Android中定期執行後臺任務?

我試過使用java Timer和TimerTask,但是當屏幕關閉時沒有任何作用,當我打開它時,所有跳過的任務都在一行中執行(例如,如果我在20:00關閉屏幕並在20:30打開它,TimerTask在20:30執行30次)。

我也嘗試使用Handler.postDelayed方法處理程序。在這種情況下,什麼都不做,當我打開屏幕跳過的任務不會被執行。

那麼,如何在設備屏幕關閉的情況下每分鐘運行一次Runnable?

回答

4
+0

我知道AlarmManager是執行應該喚醒設備打開屏幕上,發射活動的任務。我不需要,設備必須待機(我只在通知欄發送「振動」通知)。無論如何,我會嘗試。謝謝。 –

+1

如果您使用處理器做了某些事情,您已經喚醒了應用程序,即使通知是喚醒呼叫。你實際上喚醒了處理器而不是屏幕。 – Pentium10

+0

用AlarmManager完成。現在我希望它不會耗盡電池:)謝謝。 –