WorkManager calls onStopped() for Result.success()



当我正确正确时,应调用onStopped(),当Worker被异常停止/取消时。当它的工作正确完成时,不是。这是正确的吗?

https://developer.android.com/reference/androidx/work/listenableworker#onstopped

当该工人被告知停止时,请调用此方法。这可能是由于用户明确取消信号而发生的,或者由于系统决定抢占任务。在这些情况下,工作经理将忽略工作的结果。

在我的情况下是相反的:

Result.success()返回doWork()时,onStopped() 被称为,当返回Result.failure()时,它不是。

调用 WorkManager.getInstance().cancelWorkById(id) onStopped() 也被称为(这似乎是正确的)。


我正在使用androidx.work:work-runtime-ktx2.0.0-rc01

当工人"正常完成"时,是否有一种(可靠的)方法可以通知。当它被异常停止"

我认为后一种情况将是onStopped()发挥作用的位置。可能是一个错误吗?

我也有一样。请查看此问题以获取更多详细信息。该问题在 2.3.0-Alpha02 中解决。当我更新版本时,它可以正常工作。

implementation "androidx.work:work-runtime:2.3.0-alpha02"

相关内容

最新更新