Android Firebase JobDispatcher-与以前的API(JobScheduler和GcmTaskService)相比,它是如何工作的? 背景
谷歌有多种作业/任务调度解决方案,如Android Firebase JobDispatcher-与以前的API(JobScheduler和GcmTaskService)相比,它是如何工作的? 背景,android,android-jobscheduler,firebase-job-dispatcher,gcmtaskservice,Android,Android Jobscheduler,Firebase Job Dispatcher,Gcmtaskservice,谷歌有多种作业/任务调度解决方案,如JobScheduler和gcmtasksservice。每种方法都有其优缺点 最近,谷歌推出了一个名为“Firebase JobDispatcher”的新库 问题 遗憾的是,关于这个新API的内容很少。事实上,很难找到关于它的任何东西 我只找到了他们的和。但是,即使是他们的API,也没有多少关于这个API的知识 问题 查看之前的问题、调查和与其他API的比较(例如),我想问一下新API是如何工作的,并知道在使用它时要考虑什么: 作业是否可以保留参数,甚至可以
JobScheduler
和gcmtasksservice
。每种方法都有其优缺点
最近,谷歌推出了一个名为“Firebase JobDispatcher”的新库
问题
遗憾的是,关于这个新API的内容很少。事实上,很难找到关于它的任何东西
我只找到了他们的和。但是,即使是他们的API,也没有多少关于这个API的知识
问题
查看之前的问题、调查和与其他API的比较(例如),我想问一下新API是如何工作的,并知道在使用它时要考虑什么:
接收\u BOOT\u COMPLETED
,以防我希望即使在设备重新启动时仍计划作业?样品上似乎有JobService
类中的方法onStartJob
返回一个布尔值,其描述为“是否还有更多的剩余工作”。这是什么意思?作业完成
方法的需要调度
参数是什么意思?他们之间有关系吗实际上,Firebase Android JobDispatcher是Android上作业调度引擎的抽象层。 目前,他们只有一个用于GCM Network Manager的驱动程序实现。 这意味着当前它的行为方式与。希望将来会有更多的驱动程序被实现 1。作业是否可以保留参数,甚至可以在需要时进行修改?他们在示例中说“一个可选的用户提供的附加包,默认为空包。”。是这个吗?作业执行后是否可以对其进行修改?
Job.Builder
具有方法setExtras
和任意捆绑包,以后可以通过jobParameters.getExtras()
访问该捆绑包。
无法修改捆绑包(jobParameters
仅包含getter)。您可以使用标志setReplaceCurrent(true)
重新安排作业,并指定新的捆绑包setrecurtive(true)
,setTrigger(Trigger.executionWindow(10,20))
adb外壳转储系统活动服务GcmService
setlifety(lifety.FOREVER |直到下一次启动)
当然,如果你要创建自己的驱动程序,你必须自己照顾自己的一生