0

我正在尝试使用 GCMTaskManager 安排大约每 30 分钟运行一次的定期任务。当它运行时,它会对 APP 中的一些内部数据进行“更新”。

我已经初步运行了它,并且可以使用 中的LOG命令看到OnRunTask该任务根据需要触发。我让它运行(至少根据我在OnRunTask触发时填充的日志。

我有两个问题我无法确定是否可以完成......

  • 有没有办法查看在下一次火灾之前“还剩”多少时间OnRunTask......或者......大约接下来应该运行什么“时间”?例如,如果 PeriodTask... 有 30 分钟,而 18 分钟已经过去,我们能否以编程方式看到还剩 12 分钟?

  • 我有一个内部“按钮”来手动触发 APPS 更新。如果用户点击了这个,我想从那个点“重新启动”PeriodicTask 计时器。也就是说,如果OnRunTask假设 30 分钟在大约 12 分钟内触发,并且用户手动点击 UPDATE,我希望OnRunTask现在从按下按钮后的 30 分钟重新启动。这可以做到吗?

谢谢

皮特

4

1 回答 1

0

对于 1) GCMNetworkManager 不提供用于跟踪已用时间/剩余时间的接口,但您可以自己通过维护一个变量来存储数据的最后更新时间戳。

2)从文档

当 Google Play 服务或客户端应用程序更新时,所有计划任务都会被删除。GcmNetworkManager 调用客户端应用的 onInitializeTasks()。覆盖此函数以重新安排必要的任务。

于 2017-05-03T03:59:29.657 回答