我正在尝试使用GCMTaskManager来安排大约每30分钟运行一次的定期任务。 当它运行时,它会对APP中的一些内部数据进行"更新"。
我初步运行了这个,并且可以看到,使用OnRunTask
中的LOG
命令,任务按预期触发。我让它运行(至少根据我在OnRunTask
触发时填充的 LOG。
我有两个问题,我无法确定是否可以完成....
有没有办法看看在下一次
OnRunTask
火灾之前"还剩下多少时间"......或。。。接下来应该运行大约什么"时间"? 例如,如果周期任务有 30 分钟...18分钟过去了,我们能以编程方式看到还剩下12分钟吗?我有一个内部"按钮"来手动触发APPS更新。 如果用户点击此点,我想从该点"重新启动"PeriodicTask 计时器。 也就是说,如果 30 分钟的
OnRunTask
假设在大约 12 分钟内触发,并且用户手动点击 UPDATE,我希望OnRunTask
现在从按下按钮开始重新启动 30 分钟。 这能做到吗?
谢谢
皮特
对于 1) GCMNetworkManager 不提供用于跟踪已用/剩余时间的接口,但您可以通过维护一个存储数据上次更新时间戳的变量来自己执行此操作。
2)来自文档
当 Google Play 服务或客户端应用更新时,系统会移除所有定时任务。GcmNetworkManager 调用客户端应用的 onInitializeTasks()。重写此函数以重新计划必要的任务。