小编D S*_*ngh的帖子

Android 从 WorkManager 队列中删除工作线程或将状态从 FAILED 更改为 CANCELED

使用的组件:WorkManager

使用版本:2.3.4

设备/Android 版本转载于:任何

你好 - 我想从workmanager队列中删除一个工作线程,即使它已经完成或正在运行。我知道当 Worker 处于 RUNNING 状态时我可以取消它,问题是当它完成并失败时我想删除它。Workmanager.pruneWork()删除 WorkManager 中的所有工作人员,但我希望只删除特定的工作人员。

这是我的场景:

  • 我运行一个工人但失败了我返回results.failure()
  • 现在我有一个屏幕显示所有处于Failed状态的工人。
  • 我可以选择删除或重试所有失败的工人
  • 用户点击 (x) 图标可从 UI 中删除失败的工作人员,并将其从 WorkInfoList 中删除,这样它就不会再次显示。
  • 如果没有删除单个 Worker 的选项,那么我如何从 WorkInfoList 中删除它,以便下次用户转到该屏幕时,他不会看到他删除的失败 Worker?
  • 或者,如果有一个选项可以将状态从“失败”更改为“取消”,那么我可以忽略已取消的状态吗?
  • 另外,WorkManager 在多长时间后自动清除其数据库?

任何帮助都感激不尽。谢谢。

android android-workmanager

5
推荐指数
1
解决办法
2451
查看次数

标签 统计

android ×1

android-workmanager ×1