3

私の Android アプリでは、ユーザーがデバイスを接続するたびに何らかの作業を行う必要があります。この目的のために、現在、BroadcastReceiver を使用しています。これは、ユーザーがデバイスを接続したときに IntentService を開始して作業を行い、デバイスが接続されていないときに停止します。

現在、Android 5.0 以降で JobScheduler を使用することを考えていますが、JobScheduler を使用すると、アプリ内でジョブをスケジュールする必要があることがわかります。

JobScheduler.schedule(JobInfo);

しかし、ユーザーが自分のアプリを開かなくても、ユーザーが自分のデバイスを充電器に接続するたびにジョブを実行したいので、これは私にとって問題です。

このため、ユーザーがアプリを初めて開いたときにスケジュールを設定し、常に再スケジュールを強制するのが 1 つの方法だと思います。 、確かに起こりません)。

では、BroadcastReceiver を使い続けるか、Android 5.0 以降用の JobScheduler を使用する必要がありますか?

また、JobScheduler を使用する場合、再スケジュールを強制するために、ジョブを 1 回だけスケジュールしてから常に true を返す必要がありますか?

ありがとうございました。

4

2 に答える 2

-2

ジョブスケジューラはバックグラウンドで実行され、再起動後も維持されるため、問題はありません。

于 2017-01-10T15:21:00.267 に答える