我的当前Android应用程序使用链接的工作线程执行复杂的后台任务。
到目前为止,我只观察链中的最后一个工作线程,以检测整个链是否已成功完成。这种方法目前是可以接受的,但我有一个新要求,需要在工作线程失败时传递数据。
我的唯一选择是开始观察链中的所有工作线程吗?
还是
是否可能在失败的子工作线程中设置输出数据,并从观察到的最后一个工作线程得到的WorkInfo中访问它?
例如,如果我有一个由5个顺序工作线程组成的链如下:
WorkerA
WorkerB
WorkerC
WorkerD
WorkerZ
我只观察WorkerZ
,而WorkerC
失败并在其结果中设置了outputData,是否有办法让我仅通过观察WorkerZ
就可以访问该WorkData?
getWorkInfosForUniqueWork
函数返回一个LiveData
,你可以自行决定如何观察它。例如,你可以使用observeForever
或使用lifeCycleOwner
观察它,并处理退出和重新进入应用程序的情况。 - FaridUNIQUE_WORK_NAME
并观察您想要的链的结果。 - Farid