WorkManager отменил мою работу, а затем повторно запустить ее 2 раза - PullRequest
0 голосов
/ 08 ноября 2019

Logcat

Я потратил много часов, чтобы выяснить, что там происходит, но ничего полезного, поэтому я спросил здесь. Может быть, это ошибка ОС и Android?

Если я не найду здесь ответа, мне придется использовать intentservice, но я не хотел бы делать это для простой синхронизации с сервером

Edit1: Важно, чтобы не дублировать работы одновременно, должна быть задержка. Все работает, но иногда происходит дублирование

Edit2: Хорошо, вот как я его запускаю

val marksRequest = PeriodicWorkRequestBuilder<MarksListenerWorker>((prefs.getInt(LOCAL_SERVICE_DELAY, 15)).toLong(), TimeUnit.MINUTES).build()
        WorkManager.getInstance().enqueueUniquePeriodicWork(MARKS_WORK, ExistingPeriodicWorkPolicy.KEEP, marksRequest)

Edit3: код моего работника с комментариями https://hastebin.com/ohomoxejof.m

...