【问题标题】:WorkManager stopped statusWorkManager 停止状态
【发布时间】:2022-01-24 12:10:14
【问题描述】:

我有一个用于同步数据的 WorkManager。我正在向 Worker 发送 PeriodicWorkRequestOneTimeWorkRequest。但是当我发送 OneTimeWorkRequest 时,SystemJobService 的状态似乎已停止。这种方式工作经理工作正常,但我不知道显示为stopped是否正确。

后台任务检查器看起来像这样

【问题讨论】:

    标签: java android kotlin android-workmanager


    【解决方案1】:

    OneTimeWorkRequest 和 PeriodicWorkRequest 有不同的状态逻辑。

    如您所见,一旦 OneTimeWorkRequest 以 Success、Failure 或 Cancellation 完成。它被标记为已停止。

    WorkManager's documentation covers this topic.

    对于 PeriodicWorkRequest,停止它的唯一方法是取消。成功或失败,只需将 WorkRequest 重新入队即可。

    【讨论】:

    • 那我遇到这种情况也没问题。一切正常,对吧?
    • “一切正常”有点笼统。对于 OneTimeWorkRequest,一旦完成(成功、失败或取消)它们被标记为已停止并在默认时间间隔后从 WorkManager 的数据库中删除是正常的(可以使用developer.android.com/reference/androidx/work/… 进行配置)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    相关资源
    最近更新 更多