GCMTaskManager PeriodicTask ...重启计时器和/或查看还剩多少时间?

时间:2017-05-03 03:25:47

标签: android periodic-task gcmtaskservice

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

我初步运行了这个,并且可以使用LOG中的OnRunTask命令看到该任务根据需要激活。我让它运行(至少根据我填充的日志) OnRunTask火灾。

我有两个问题我无法确定是否可以做到....

  • 有没有办法看到剩下多少时间"离开"在下一个OnRunTask火灾之前......或者......大约是什么"时间"它应该运行下一个?例如,如果PeriodTask有30分钟...且已经过了18分钟,我们能否以编程方式看到剩下的12分钟?

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

由于

皮特

1 个答案:

答案 0 :(得分:0)

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

2)来自docs

  

更新Google Play服务或客户端应用后,系统会删除所有计划任务。 GcmNetworkManager调用客户端应用程序的onInitializeTasks()。重写此功能以重新安排必要的任务。