Ограничение CONNECTED нарушает WorkManager? - PullRequest
0 голосов
/ 18 июня 2019

Похоже, что использование ограничения NetworkType.CONNECTED при планировании периодических задач в WorkManager не работает для меня надежно.

Один способВоспроизвести ...

Устройство Android, на котором установлено приложение, подключено к точке доступа WiFi.Заблокируйте трафик на устройство с помощью фильтра MAC, который отбрасывает пакеты.Как и ожидалось, сетевые вызовы на устройстве начинают сбой, и WM обрабатывает его.Затем отключите фильтр MAC, блокирующий трафик, восстанавливающий доступ к устройству или с него.Можно ожидать, что задачи возобновятся, но они этого не делают.Другие сетевые вызовы работают без проблем, но задачи WM с сетевым ограничением никогда не запускаются до тех пор, пока приложение не будет перезапущено (остановлено / запущено снова)

Temp.разрешение : снятие ограничения NetworkType.CONNECTED, когда планирование задач в WorkManager решает проблему, но, конечно, вы будете делать запросы, даже если сеть не работает, пробуждая устройство и без необходимости расходуя батарею.

  • Компиляция SDK версии 28
  • Android 5.1.1

Если у кого-то есть лучшая работа, пожалуйста, поделитесь.

Обновление: Еще одним ключевым моментом является обеспечение того, чтобы любая периодическая работа всегда возвращалась ListenableWorker.Result#success()

...