任务:我想在上午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);
答案 0 :(得分:0)
好吧,我不认为你可以使用普通的重复性工作。当然,请不要使用Firebase计划程序,因为正如this良好回复中所述,
windowStart是作业应该是最早的时间(以秒为单位) 被认为有资格运行。从作业计划的时间开始计算 (用于新工作)或最后一次工作(用于重复工作)
所以我认为要遵循的主要途径是AlarmManager
,它在指定的时间(上午9:00)安排FireBase作业,没有重复和一小时的容忍,如executionWindow(0, 60*60)