2011-11-29 77 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完成。现在我希望它不会耗尽电池:)谢谢。 –