当工作正在处理时,当约束变得不满意时,工作经理会停止工作吗?例如,工作需要充电器连接约束,连接充电器后开始工作,然后充电器断开,工作经理是否会停止工作,因为它不再满足约束
发布于 2020-09-16 14:52:22
如果在执行工作人员的过程中不再满足约束,WorkManager将发出停止的信号。
请记住,停止在WorkManager中是协作的,因此您的工作人员将需要实现onStopped()回调,并且它可以在执行长时间运行的循环/计算时使用isStopped() (https://developer.android.com/reference/androidx/work/ListenableWorker#isStopped(%29)method )。
来自文档
您应该合作中止正在进行的任何工作,并释放您的员工所持有的任何资源。例如,此时应关闭数据库和文件的打开句柄。有两种机制可供您使用,以了解您的工人何时停止。
医生的也是:
注意: WorkManager忽略已接收onStop信号的工作人员的结果集,因为该工作人员已被视为已停止。
如果您使用的是CoroutineWorkers,它们将在定义的范围内自动处理停止。来自WorkManager线程指南
CoroutineWorkers通过取消协同线和传播取消信号来自动处理停止。你不需要做任何特别的事情来处理停工。
https://stackoverflow.com/questions/63914518
复制相似问题