【问题标题】:GCMTaskManager PeriodicTask... restart timer and/or see how much time is left?GCMTaskManager PeriodicTask... 重新启动计时器和/或查看还剩多少时间?
【发布时间】:2017-05-03 03:25:46
【问题描述】:

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

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

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

  • 有没有办法查看在下一个OnRunTask 触发之前“剩余”多少时间......或者......它接下来应该运行的大约“时间”是多少?例如,如果 PeriodTask... 有 30 分钟,而 18 分钟过去了,我们能否以编程方式看到还剩 12 分钟?

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

谢谢

皮特

【问题讨论】:

    标签: android periodic-task gcmtaskservice


    【解决方案1】:

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

    2) 来自docs

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      相关资源
      最近更新 更多