0

如果我可以提及的话,我已经看到了很多用于作业调度的 API:

  • AlarmManager
  • JobScheduler
  • JobSchedulerCompat
  • GCMNetworkManager

我想要做的是,用户设置一个日期和一个活动,他将它保存在 Firebase 中,当那个日期到来时,创建的对象被删除。我在 Parse 中看到过类似的东西,但您可能知道,它正在关闭,我还是将我的数据存储在 Firebase 中。

但是,AlarmManager肯定不会在中执行任务(该服务不在设备上运行,而是在云中。

JobScheduler不适用于前棒棒糖。

JobSchedulerCompat已弃用“无法保证这不会使您的设备爆炸或耗尽您的电池”,而且我认为它无论如何都不会在云中运行。

我不确定GCMNetworkManager。它是在云中运行还是在设备上运行?艰难的例子:如果每个使用我的应用程序的用户都关闭了他的设备,那么任务还会完成吗?


长问题短:是否GCMNetworkManager在云中运行?如果没有,我有什么选择?


编辑: @qbix 的回答给了我一个提示,但我仍然无法从该链接中理解任何内容。如果有人用一个例子回答我的问题,他将获得赏金。这包括@qbix。

4

1 回答 1

1

不,GCMNetworkManager不在云中运行。它就像您列出的其他调度程序一样在设备上运行。

如果我正确理解您的要求,您应该查看Firebase Server SDK。您将创建一个具有有限权限的服务器任务来访问数据库的相应部分。它将定期为所有用户执行所需的数据库维护。

于 2016-08-06T14:55:07.610 回答