Я создаю функционал, который позволит продавцам устанавливать график своего бизнеса. Такая функция автоматически изменяет переменную 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.
JobScheduler
такой функции нет, аWorkManager
находится на уровне выше нее. - person Marko Topolnik   schedule 29.10.2018AlarmManager
, иWorkManager
- это тоже слой над ней, верно? - person rgoncalv   schedule 29.10.2018