Android 使用Firebase作业调度器每周计划一次任务
已尝试使用job dispatcher按小时安排重复任务。已经为该问题编写了代码段,但不确定这是否是正确的实现 该代码段用于将任务安排在每周周一的11小时 对此或其他可能的解决方案进行任何更正都将大有帮助Android 使用Firebase作业调度器每周计划一次任务,android,alarmmanager,android-jobscheduler,firebase-job-dispatcher,Android,Alarmmanager,Android Jobscheduler,Firebase Job Dispatcher,已尝试使用job dispatcher按小时安排重复任务。已经为该问题编写了代码段,但不确定这是否是正确的实现 该代码段用于将任务安排在每周周一的11小时 对此或其他可能的解决方案进行任何更正都将大有帮助 Calendar c1 = Calendar.getInstance(); c1.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); c1.set(Calendar.HOUR_OF_DAY, 11); c1.set(Calen
Calendar c1 = Calendar.getInstance();
c1.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
c1.set(Calendar.HOUR_OF_DAY, 11);
c1.set(Calendar.MINUTE, 0);
c1.set(Calendar.SECOND, 0);
c1.set(Calendar.MILLISECOND, 0);
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(Splash_onboarding.this));
Job myJob = dispatcher.newJobBuilder()
.setService(ScheduledNotificationService.class)
.setTag(dispatcherTag)
.setRecurring(true)
.setLifetime(Lifetime.FOREVER)
.setTrigger(Trigger.executionWindow(Math.round(c1.getTime().getTime() / 1000), (Math.round(c1.getTime().getTime() / 1000)) + 60))
.setReplaceCurrent(true)
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
.build();
dispatcher.mustSchedule(myJob);
我认为您没有正确地实现Firebase JobDispatcher
Trigger.executionWindow()
在本例中,您在调度作业后,在作业自身执行的时间之后写入。有关更多信息,请参阅:
您可以通过使用executionWindow get time of next monday-System.currentTimeMillis计划第一个非周期性作业,然后在JobService中启动executionWindow为7*24*60*60的周期性作业来解决问题。您建议如何获得下周一的时间@AbhijeetYou可以通过此解决方案获得下周一的时间: