Google有多种工作/任务调度解决方案,例如JobScheduler和GcmTaskService.每个都有自己的优点和缺点.
最近,Google推出了一个名为"Firebase JobDispatcher"的新库.
遗憾的是,关于这个新API的知识很少.事实上,很难找到任何关于它的东西.
我发现的只有他们的公告视频和样本.但即使是他们,也没有太多关于这个API的知识.
看看之前的问题,调查和我与其他API(例如,这里)的比较,我想问一下新的API是如何工作的,并且知道在使用它时应该考虑什么:
作业是否可以使用与之相关的参数,甚至可以在需要时进行修改?他们在示例中说" 一个可选的用户提供的附加软件包.默认是一个空的Bundle. "这是吗?它可以在执行时被作业修改吗?
工作可以轻松重新安排吗?它被称为" 一个布尔值,表明作业是否应该重复 ".怎样才能选择何时重新安排?我已经尝试了样本,并选择了"Recurring",但它似乎没有再次运行,只有一次.
它可以保护与图书馆的工作(因为独特的ID)吗?
更新应用程序时是否需要格外小心(如先前的API所做的那样)?更新应用后,仍可安排作业吗?对样本进行测试,似乎在更新应用程序后作业已完全消失.可以避免吗?
RECEIVE_BOOT_COMPLETED如果我希望即使重启设备仍然可以安排作业,是否需要?样本似乎有它.
是否可以获取所有预定作业及其信息(包括参数)的列表,并能够取消特定/所有作业甚至修改它们?
在清除数据操作应用程序时,是否会删除作业?
是否有可能告诉工作它最好在一段时间内运行(例如:早上7点到8点之间)?它被提到" ExecutionWindowTrigger - 它指定了一个应该执行Job的时间窗口 ".是吗?当它错过这个窗口会发生什么?
该方法onStartJob的JobService类返回一个布尔和它的说明" 是否有剩余的更多的工作. "这是什么意思?方法的needsReschedule参数是什么jobFinished意思?它们是否相互关联?
我应该知道有什么限制吗?例如,每个函数的最小值和最大值?
android android-jobscheduler firebase-job-dispatcher gcmtaskservice