The Android Developer Challenge is back! Submit your idea before December 2.

WorkManager でタスクのスケジュールを設定する   Android Jetpack の一部

WorkManager API を使用すると、アプリが終了したりデバイスが再起動したりしても実行することが要求される延期可能な非同期タスクのスケジュールを簡単に設定できます。

主な機能:

  • API 14 までの下位互換性
    • API 23 以上が搭載されたデバイスでは JobScheduler を使用
    • API 14~22 が搭載されたデバイスでは BroadcastReceiver と AlarmManager を組み合わせて使用
  • ネットワークの可用性や充電ステータスなどの処理の制約を追加する
  • 非同期の 1 回限りのタスクや定期的なタスクのスケジュールを設定する
  • スケジュール設定されたタスクの監視と管理を行う
  • タスクを連携させる
  • アプリやデバイスが再起動してもタスクを確実に実行する
  • Doze モードなどの省電力機能に準拠する

WorkManager は、アプリが終了したりデバイスが再起動したりしても確実に実行する必要がある遅延可能なタスク(つまり、直ちに実行する必要がないタスク)を対象としています。次に例を示します。

  • ログやアナリティクスをバックエンド サービスに送信する
  • アプリデータをサーバーと定期的に同期する

WorkManager は、アプリプロセスが終了しても安全に終了可能な処理中のバックグラウンド処理や、直ちに実行する必要があるタスクを対象としていません。バックグラウンド処理ガイドでニーズを満たすソリューションを見つけてください。

トピック

基本

入門ガイド

高度なコンセプト

移行ガイド

参考情報

サンプル

  • WorkManagerSample(シンプルな画像処理アプリ)
  • Sunflower(各種のアーキテクチャ コンポーネント(WorkManager を含む)を使用したおすすめの方法を示すデモアプリ)

コードラボ

動画

ブログ