This repository was archived by the owner on Apr 12, 2023. It is now read-only.
This repository was archived by the owner on Apr 12, 2023. It is now read-only.
[Android] WorkManagerに指定しているExistingPeriodicWorkPolicyの変更 #21
Closed
Description
Android版のバックグラウンド処理(WorkManager)においてExistingPeriodicWorkPolicy
にExistingPeriodicWorkPolicy.Replace
の値を指定しています。
これはGoogleが提供しているドキュメントExposure Notifications implementation guideに基づいた記述と推測しますが、当該ドキュメントは2020年9月に更新されており、現在はExistingPeriodicWorkPolicyにはExistingPeriodicWorkPolicy.KEEP
を指定するように記述が変更されています。
// Use a unique work to avoid multiple workers.
workManager.enqueueUniquePeriodicWork(
PROVIDE_KEY_WORK_NAME,
ExistingPeriodicWorkPolicy.KEEP,
workRequest
)
ドキュメントの更新履歴によれば、ExistingPeriodicWorkPolicy.Replace
を指定した場合、WorkManagerがシステムのJobSchedulerにジョブを追加しない問題が起こることがある。とのことです。
This resolves an issue with WorkManager sometimes not adding a job to the system job scheduler.
最新のドキュメントの内容に基づいて、当該部分をExistingPeriodicWorkPolicy.KEEP
に変更することを強くお勧めします。