我正在设计一个包含时间表的应用程序,当用户向其中添加一个事件时,他可以定义该事件是否重复“每周”,“每2周”等,如果每周重复一次就可以了,但是可以说“每月一次”,我必须计算自用户添加该事件并在一周后删除该事件,然后在3周内重新添加该事件的时间。

根据我的研究,我可以使用AlarmManager,Handler或Timer。必须在应用未运行时更新它,但不必在手机处于睡眠状态时更新它,我觉得对于这个简单的任务,AlarmManager会显得过大,但是使用计时器或处理程序来计算自用户向(time passed since the user added the event) + (time the phone was asleep)之类的东西添加了一个我需要的事件,但我不确定该怎么做或是否有可能

AlarmManager,Timer,Handler或其他?

最佳答案

对于您的情况,您绝对应该使用AlarmManager

Handler一起运行Timer只能在短时间内使用。这样您可以确保该应用程序仍在运行。

另一方面,应使用AlarmManager在应用程序生存期内进行操作,在应用程序中就是这种情况。

请参阅从training docs复制的以下注释


  注意:为了确保在应用程序生存期内发生计时操作,请考虑将Handler类与Timer和Thread结合使用。这种方法使Android可以更好地控制系统资源。

07-24 09:45
查看更多