Firebase作业调度程序执行窗口

时间:2017-06-26 19:50:34

标签: android android-location android-jobscheduler firebase-job-dispatcher

任务:我想在上午9:00到晚上9:00之间获取用户的位置。 所以,我想使用Job Scheduler但不能将它设置到上面的时间段。

请帮我理解firebase作业调度程序。

请告诉我如何将调度程序设置为上面(上午9:00到下午9:00)插槽。

尝试做以下事情:

 firebaseJobDispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context));
            Job constraintReminderJob = firebaseJobDispatcher.newJobBuilder()
                .setService(DispatcherService.class)
                .setTag("")
                .setConstraints(Constraint.DEVICE_CHARGING)
                .setLifetime(Lifetime.FOREVER)
                .setRecurring(true)
                .setTrigger(Trigger.executionWindow(
                   ?,?
                ))
                .setReplaceCurrent(true)
                .build();

            firebaseJobDispatcher.schedule(constraintReminderJob);

1 个答案:

答案 0 :(得分:0)

好吧,我不认为你可以使用普通的重复性工作。当然,请不要使用Firebase计划程序,因为正如this良好回复中所述,

  

windowStart是作业应该是最早的时间(以秒为单位)   被认为有资格运行。从作业计划的时间开始计算   (用于新工作)或最后一次工作(用于重复工作)

所以我认为要遵循的主要途径是AlarmManager,它在指定的时间(上午9:00)安排FireBase作业,没有重复和一小时的容忍,如executionWindow(0, 60*60)