[在爪哇] 嘿,我在网上搜索了很多,我发现的唯一一件事对我没用。我需要的是每周从用户的日历执行一个特定的任务。即使用户没有打开应用程序,我希望它能够计算时间。我在互联网上找到的内容会在每次用户启动应用时重置日历。
感谢。
答案 0 :(得分:0)
创建"智能"方法long nextExecutionTime(long currentTime)
的日历接受当前时间和下一个执行时间的返回时间,在db的帮助下使其持久化。在您的应用程序启动时,从db获取此日历并获取下一个执行时间,如果您计算到此时执行任务并使用此方法获得下一个执行时间,请计入此时间。
答案 1 :(得分:0)
我在想:上次执行任务时仍然存在。在应用启动时,请检查是否超过一周前。如果是,立即执行。如果没有,启动计时器以在上一次之后执行一周。
如何在上一次执行时间后一周找到下一个执行时间?这取决于您上次执行时使用的类型,但许多java.time
类型将接受plus(1, ChronoUnit.WEEKS)
。有些人还使用plusWeeks
方法,以获得更大的便利。