Skip to content
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
@keiji

Description

@keiji

Android版のバックグラウンド処理(WorkManager)においてExistingPeriodicWorkPolicy ExistingPeriodicWorkPolicy.Replaceの値を指定しています。

workManager.EnqueueUniquePeriodicWork("exposurenotification",
ExistingPeriodicWorkPolicy.Replace,
workRequest);

これは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に変更することを強くお勧めします。

Metadata

Metadata

Assignees

No one assigned

    Labels

    releasedリリースが完了したもの

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions