当
我正在使用
有没有一种(可靠的)方法来获知工作程序“已正常完成”和“已异常停止”的情况?
我认为后者情况下会使用
Worker
被异常停止或被取消时,应调用onStopped()
方法以确保正确执行。当其工作已正常完成时,不应调用此方法。请问这个理解是否正确?
https://developer.android.com/reference/androidx/work/ListenableWorker#onstopped
当
Worker
被告知停止时,将调用此方法。这可能是由用户发出的明确取消信号或因系统决定抢占任务而发生的。在这些情况下,WorkManager将忽略工作的结果。
在我的情况下相反:
当使用Result.success()
从doWork()
返回时,将调用onStopped()
,如果使用Result.failure()
则不会调用。
当调用WorkManager.getInstance().cancelWorkById(id)
时,同样会调用onStopped()
(尽管这似乎是正确的)。
我正在使用
androidx.work:work-runtime-ktx
的 2.0.0-rc01
版本。有没有一种(可靠的)方法来获知工作程序“已正常完成”和“已异常停止”的情况?
我认为后者情况下会使用
onStopped()
。这可能是一个错误吗?