X時間後に実行する必要があるfirebaseジョブディスパッチャーを介してジョブをセットアップしました。アプリが開いているときまたはバックグラウンドで正常に動作しますが、アプリが閉じているときは動作しません。
あまりにも多くの人がこの問題に直面しており、Github ではまだそのような問題が開かれていますが、解決策は見つかりませんでした。
これが私のコードです:
public void setupJob(){
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
final int periodicity = (int) TimeUnit.HOURS.toSeconds(3);
final int toleranceInterval = 30;
Job myJob = dispatcher.newJobBuilder()
.setService(MyScheduler.class)
.setTag("MY_JOB_TAG")
.setRecurring(false)
.setLifetime(Lifetime.FOREVER)
.setTrigger(Trigger.executionWindow(periodicity, periodicity + toleranceInterval))
.setReplaceCurrent(false)
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
.build();
dispatcher.mustSchedule(myJob);
}
.setRecurring(true) を作成すると起動しますが、アプリを開いてからアプリを閉じても繰り返して正常に動作します。
助けてください!