Я строю функционал, который позволит продавцам устанавливать график своего бизнеса. Такая функциональность автоматически изменяет переменную open
на true
и false
в соответствии с временем, установленным продавцом в каждый день недели. Следовательно, было бы в общей сложности 14 возможных разных времен.
Я пытаюсь создать повторяющуюся фоновую задачу, которая могла бы выполнить эту задачу, используя WorkManager, новую библиотеку компонентов архитектуры Android.
val scheduleStartWork = PeriodicWorkRequest.Builder(ScheduleWorker::class.java, 7, TimeUnit.DAYS)
.setInputData(Data.Builder().putBoolean("isStart", true).build())
.setScheduleRequestedAt(diff_time, TimeUnit.MILLISECONDS)
.addTag(weekdays[index])
.build()
Это дает мне следующую ошибку APILibraryException:
Builder.setScheduleRequestedAt может вызываться только из одной и той же группы библиотек
Мои вопросы:
1) Является ли setScheduleRequestedAt
правильным методом для вызова, если я хочу отложить планирование на diff_time
?
2) Если да, как я могу решить эту проблему?
PS: diff_time
- это разница в миллисекундах от каждого из соответствующих часов каждого дня, установленных пользователем. Пример: понедельник-пятница = 08:00, сб-вс = 10: 00.