使用TimerTask每天执行任务不会在第二天工作。(还有其他问题)

时间:2016-04-02 06:17:28

标签: java android timertask

我有TimerTask每天在特定时间更新几张桌子(不是每天一个任务,一天中不同时间的不同任务)。我从数据库中获取一些时间段,并在调用run()的{​​{1}}时检查当前时间是否等于数据库中的一个时间,并在相应的时间(时间)执行相应的任务从数据库中等于当前时间)

我认为它在第二天没有工作,因为我在服务启动时设置了计时器的时间(我从数据库中获取)。第二天计时器应该执行任务并检查当前时间它检查前一天的时间(当天服务开始,时间设置为TimerTask)并且没有任务。我应该每天开始TimerTask来设置时间(从数据库获取以检查当前时间)。

如何在特定时间每天启动服务,以便每天设置用当前时间检查的时间。

我可以尝试从服务开始之日起24小时内每天安排执行任务,但有时我必须更改开始日期,并且应该再次启动服务,我不知道服务是否会运行24小时。

1 个答案:

答案 0 :(得分:0)

您应该使用Alarmanager。 Alarm Manager适用于您希望在特定时间运行应用程序代码的情况,即使您的应用程序当前未运行。