Назад к вопросам
Junior — Middle
68
Каким образом можно извлечь и обработать результат выполнения задач с помощью WorkManager?
Ответ от нейросети
sobes.tech AI
Для извлечения и обработки результата выполнения задач в WorkManager используется объект WorkInfo, который можно получить через WorkManager.getWorkInfoByIdLiveData() или WorkManager.getWorkInfoById(). В WorkInfo содержится статус задачи и данные результата (outputData).
Пример использования с LiveData:
val workRequest = OneTimeWorkRequestBuilder<MyWorker>().build()
WorkManager.getInstance(context).enqueue(workRequest)
WorkManager.getInstance(context).getWorkInfoByIdLiveData(workRequest.id)
.observe(lifecycleOwner) { workInfo ->
if (workInfo != null && workInfo.state.isFinished) {
val output = workInfo.outputData.getString("result_key")
// Обработка результата
}
}
Таким образом, можно подписаться на изменения статуса задачи и получить результат после её завершения.