[英]Schedule a task weekly using Firebase job dispatcher
嘗試過按小時調度重復任務的作業調度程序。 已經為該問題編寫了代碼段,但不確定這是否是正確的實現。
Snippet用於在每周的星期一11小時安排任務。
任何對此解決方案或其他可能解決方案的更正將大有幫助。
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()
在這種情況下,您可以在安排作業后多少時間執行作業后進行寫操作。 有關更多信息,請參見: https : //stackoverflow.com/a/42111723/7384780
您可以通過以下方式解決您的問題:安排您的第一個非經常性工作,使用executionWindow(獲取下周一的時間)-System.currentTimeMillis(),然后在JobService內部啟動一個定期工作,其執行窗口為7 * 24 * 60 * 60。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.