6

我正在尝试按照这个来使用 FirebaseJobDispatcher

但我的问题是,如何为调度程序对象设置时间间隔,如 GCMNetworkManager (setPeriod)。或者请解释 FirebaseJobDispatcher 的工作原理。

4

2 回答 2

1

一天前才开始使用 Dispatcher,所以我可能错了。我认为对于您想要做的事情,您必须将您的工作设置为经常性并选择合适的触发器

final Job.Builder builder = dispatcher.newJobBuilder()
                .setTag("myJob")
                .setService(myJobService.class)
                .setRecurring(true)
                .setTrigger(Trigger.executionWindow(59, 61));

会给你一份大约每分钟重复一次的工作。

如何开始工作并一般设置 Dispatcher 我建议您查看 FirebaseJobDispatcher git 存储库(您已经链接)中可用的 testapp。特别是JobFormActivityDemoJobService类。

于 2016-08-09T13:18:08.210 回答
0

这将在大约 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);
于 2017-09-14T11:18:29.630 回答