0

任务:我想在上午 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);
4

1 回答 1

0

好吧,我认为您不能为此使用普通的经常性工作。肯定不是使用 Firebase 调度程序,因为正如这个好的回复中所述,

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

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

于 2018-04-13T09:31:36.770 回答