1

我正在使用FirebaseJobDispatcher发布数据。

 FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(DetectedActivitiesIntentService.this));

    Job myJob = dispatcher.newJobBuilder()
            .setService(SendCarProbeDataService.class) // the JobService that will be called
            .setTag(tripId)
            .setConstraints(Constraint.ON_ANY_NETWORK) 
            .setExtras(bundle) 
            .build();

    dispatcher.mustSchedule(myJob);

我注意到我的发布服务会在一段时间后运行。当我研究它时,我知道有一个 JobInfo 具有设置setMinimumLetancy(0)以尽快运行服务的属性。

JobInfo jobInfo = new JobInfo.Builder(tripId, SendCarProbeDataService.class)
                .setMinimumLatency(0)
                .setConstraints(Constraint.ON_ANY_NETWORK)
                .setExtras(bundle).build();

但是我需要知道JobJobInfo之间的区别以及如何在Job中使用 setMinimumLetancy ?

4

1 回答 1

0

使用作业信息,您可以指定作业的约束。如果您想在特定时间执行您的工作,请使用

.setTrigger(Trigger.executionWindow(x, y))

x 是窗口开始时间 y 是窗口结束时间

例如:.setTrigger(Trigger.executionWindow(10, 20))

该作业将在 10 到 20 秒之间执行...

立即执行使用

.setTrigger(Trigger.NOW)
于 2018-03-20T07:45:09.830 回答