Firebase JobDispatcher を使用して、アプリを新しい Oreo の制限に適応させようとしています。変更する必要があることの 1 つは、画面がオフになっているときに実行する必要があるタスクです。そのために、私は制約を使用しようとしていますDEVICE_IDLE
。私の理解では、アイドル状態とは、デバイスが現在使用されていないことを意味するため、結果として画面をオフにする必要があります。Android または Firebase のドキュメントでこれに関する正確な情報を見つけることができませんでした。
だから私は自分の仕事を次のように設定しました:
Job myJob = dispatcher.newJobBuilder()
.setService(EclipseLauncher.class)
.setTag(JOB_TAG)
.addConstraint(Constraint.ON_ANY_NETWORK)
.addConstraint(Constraint.DEVICE_IDLE)
.setLifetime(Lifetime.FOREVER)
.setReplaceCurrent(true)
.build();
そして、これは機能しません。アイドル制約は完全に無視されているようで、ジョブはすぐに開始されます。遅延トリガーを追加しようとしましたが、今回はアプリがバックグラウンドになるとすぐにジョブが開始されます (たとえば、ホームボタンを押したとき)。これは私が本当に欲しいものではありません。
画面がオフになっているときにタスクを開始する方法はありますか?