如何使用 Firebase JobDispatcher
Posted
技术标签:
【中文标题】如何使用 Firebase JobDispatcher【英文标题】:How to use FirebaseJobDispatcher 【发布时间】:2016-11-15 12:07:33 【问题描述】:我正在尝试通过关注 this 来使用 FirebaseJobDispatcher
但我的问题是,如何为调度程序对象设置时间间隔,如 GCMNetworkManager (setPeriod)。 或者请解释 FirebaseJobDispatcher 的工作原理。
【问题讨论】:
【参考方案1】:一天前才开始使用 Dispatcher,所以我可能错了。我认为对于你想做的事情,你必须将你的工作设置为recurring并选择一个合适的trigger。
final Job.Builder builder = dispatcher.newJobBuilder()
.setTag("myJob")
.setService(myJobService.class)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(59, 61));
会给你一个大约每分钟重复一次的工作。
如何开始工作并设置 Dispatcher 我建议您查看 FirebaseJobDispatcher git 存储库(您已经链接)中可用的 testapp。 尤其是 JobFormActivity 和 DemoJobService 类。
【讨论】:
【参考方案2】:这将在大约 10 分钟内触发。 注意 - 在 Marshmallow 之后的打盹模式下,执行时间可能会有所不同,具体取决于可用的窗口。
Job myJob = mDispatcher.newJobBuilder()
.setService(MyJobService.class)
.setTag(JOB_TAG)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(600, 600))
.setLifetime(Lifetime.FOREVER)
.setReplaceCurrent(false)
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
.build();
mDispatcher.schedule(myJob);
【讨论】:
以上是关于如何使用 Firebase JobDispatcher的主要内容,如果未能解决你的问题,请参考以下文章
如何使用firebase_admin从python中的firebase存储下载文件
如何在不使用 Firebase 身份验证的情况下保护 Firebase 存储? (下一个)
使用 firebase 模拟器时如何共享指向 firebase 开发环境的链接?