我正在从事以下工作:
OneTimeWorkRequest myWork =
new OneTimeWorkRequest.Builder(MyWorker.class)
.build();
WorkManager.getInstance().enqueue(myWork);
工作完成后,我想加入另一个OneTimeWorkRequest
。基本上,我总是计划安排什么工作,以便当一个工作完成(或被系统取消)时,我希望有另一个工作来代替。这有点像PeriodicWorkRequest
,但是有一些原因导致PeriodicWorkRequest
不适合使用(基本上,我需要对排除的时间进行精细控制才能开始工作,而通过{{ 1}}设置在单个重复工作项上)。
有没有一种方法可以监听工作的状态更改,以便在工作状态更改为Contraints
或SUCCEEDED
时可以做出反应,然后排队另一个工作项?我知道我可以通过this method获得CANCELLED
,但是我认为这需要定期明确请求LiveData
并检查状态。我想要的是一个状态更改时将触发的监听器。