WorkManager为Result.success()调用onStopped()

问题描述 投票:3回答:1

[正确后,当onStopped()异常停止/被取消时,应调用Worker。并非在其工作正确完成时。这是正确的吗?

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

当告知此Worker停止时,将调用此方法。这可能是由于用户明确发出取消信号,或者是因为系统决定抢占该任务。在这种情况下,WorkManager将忽略工作结果。

就我而言是相反的:

[从带有doWork()Result.success()返回时,然后是onStopped() 被称为,而当返回Result.failure()时则不是。

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


我正在使用2.0.0-rc01androidx.work:work-runtime-ktx

是否有(可靠的)方式通知工人何时“正常完成”以及何时“异常停止”?

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

android android-workmanager
1个回答
0
投票

我也一样。请查看此question了解更多详细信息。此问题已在2.3.0-alpha02中修复。当我更新版本时,它可以正常工作。

implementation "androidx.work:work-runtime:2.3.0-alpha02"
© www.soinside.com 2019 - 2024. All rights reserved.