WorkManager прослушивает изменение состояния - PullRequest
0 голосов
/ 17 декабря 2018

Я ставлю работу в очередь со следующим:

OneTimeWorkRequest myWork =
    new OneTimeWorkRequest.Builder(MyWorker.class)
    .build();
WorkManager.getInstance().enqueue(myWork);

Когда работа закончится, я хочу поставить в очередь другую OneTimeWorkRequest.В принципе, я всегда планирую работу, поэтому, когда одна из них завершена (или отменена системой), я хочу другую на ее месте.Это делает его немного похожим на PeriodicWorkRequest, но есть причины, по которым PeriodicWorkRequest не подходит (в основном мне нужен точный контроль исключенного времени для начала работы, что невозможно через набор Contraints наединичный повторяющийся рабочий элемент).

Есть ли способ прослушивания изменения состояния работы, чтобы я мог реагировать, когда рабочее состояние изменилось на SUCCEEDED или CANCELLED, и ставить в очередь другой рабочий элемент?Я знаю, что мог бы получить LiveData с помощью этого метода , но я думаю, что для этого требуется явный запрос LiveData периодически и проверка статуса.То, что я хочу, это слушатель, который будет срабатывать при изменении статуса.

...