Нет способа сделать работу постоянной при перезагрузке? - PullRequest
1 голос
/ 30 мая 2019

Итак, я знаю, WorkManager использует JobScheduler на поддерживаемых API, но, кажется, нет никакого способа заставить WorkManager работать устойчиво при перезагрузках? Является ли единственной возможностью запросить разрешение BOOT_COMPLETED и переназначить задания?

Ответы [ 2 ]

1 голос
/ 30 мая 2019

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

WorkManager сохраняет рабочие запросы в своей внутренней базе данных Room.Это позволяет гарантировать выполнение работ при перезапуске устройства.

Документация охватывает это как этот блог "Представляем WorkManager" , который команда написала в прошлом году.

0 голосов
/ 30 мая 2019

WorkManager фактически используется для сохранения отложенных задач даже после выхода из приложения и перезагрузки устройства, см. Документацию .Он использует JobScheduler для API 23 и выше и broadcastReceiver и AlarmManger для API 14-22. Вы можете использовать ограничения для проверки состояния батареи, покрытия сети и т. Д. В зависимости от вашего конкретного варианта использования.Вам просто нужно быть осторожным, чтобы не удалить или не переименовать существующие классы после их добавления в очередь, потому что WorkManager использует свою внутреннюю базу данных для хранения этих классов, и ваше приложение вылетит, если вы удалите их или переименуете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...