我正在开发具有3个计划作业的android应用程序:
工作延迟不可协商(=>没有JobScheduler!) 而且我的客户端不希望在其应用程序不是前台应用程序的情况下运行作业,也不希望在屏幕关闭时运行。
我选择了一个简单的ScheduledExecutorService来管理作业。 它工作得很好,除了它似乎忽略了屏幕关闭的时间。 例如,在关闭屏幕5个小时后,当我唤醒电话时,我希望所有作业都被触发,因为它们的运行时间超过了延迟时间,但是没有运行。 (无论使用fixedRate还是fixedDelay)
因此,我开发了一种看门狗,它每秒检查一次最后作业的执行时间,并在需要时将其添加到ScheduledExecutorService中。 它正在工作,但是我想应该有一个更好的解决方案。
有什么建议吗? 谢谢