我正在创建一个应用程序,启动服务,在特定条件下定期发送SMS消息。一切正常,但是当手机处于“待机”状态(显示屏关闭)时,我每分钟都会定期运行作业(检查条件+信息发送)。屏幕上都可以正常工作。
我尝试使用java Timer和TimerTask,但是当屏幕关闭时无效,当我打开它时,所有跳过的任务都会连续执行(例如,如果我在20:00关闭屏幕并转向20:30,TimerTask在20:30执行30次)。
我还使用Handler.postDelayed方法尝试使用Handler。在这种情况下,没有做任何事情,当我打开屏幕时,不执行跳过的任务。
那么,当设备屏幕关闭时,如何每分钟运行一次Runnable?
答案 0 :(得分:4)
您可以尝试AlarmManager
http://developer.android.com/reference/android/app/AlarmManager.html