Как мы можем передать объект Serializable в диспетчере работ с помощью метода setData диспетчера работы? Есть ли способ обработать с помощью диспетчера работ, передав объект?
WorkManager - это библиотека, используемая для постановки работы в очередь, которая гарантированно будет выполняться после выполнения ее ограничений. WorkManager позволяет отслеживать статус работы и создавать сложные цепочки работ.
Map<String, Object> map = new HashMap<>();
AddressBookData addressBookData = new AddressBookData();
addressBookData.setThreadId(001);
map.put("AddressBookData", addressBookData);
Data data = new Data.Builder()
.putAll(map)
.build();
OneTimeWorkRequest compressionWork =
new OneTimeWorkRequest.Builder(DataSyncWorker.class)
.setInputData(data)
.build();
Это вызывает сбой приложения и показывает ошибку, например, AddressBookData не является допустимым классом.
Примечание. Я хочу передать класс POJO в диспетчере работ и получить InputData из диспетчера работ в методе doWork.