JobScheduler не работает в Xiaomi, когда приложение не работает в фоновом режиме и опция автозапуска отключена.

Я хочу запускать задачу в своем приложении каждый день, я использую для нее JobScheduler и отлично работает в стандартной ОС, но когда я пытаюсь запустить ее на телефонах с пользовательским ПЗУ (Xiaomi), она не работает, если я явно не включу авто -start для приложения в безопасности. Есть ли какое-то решение для этого, как другие приложения справляются с этим сценарием?


person Velu    schedule 22.10.2018    source источник
comment
Без включения автозапуска вы не можете запускать какие-либо фоновые службы из-за оптимизации заряда батареи   -  person Sniffer    schedule 22.10.2018
comment
@Sniffer, тогда как другие приложения умеют манипулировать? (Какое приложение для резервного копирования сообщений каждый день, приложение для будильника для запуска будильника)   -  person Velu    schedule 22.10.2018
comment
Проверьте это, надеюсь, вы поняли   -  person Sniffer    schedule 22.10.2018
comment
workmanager управляет этим, он смотрит на версию ОС и соответственно выбирает менеджера .. так что вам следует попробовать WORKMANAGER   -  person Adeel Turk    schedule 22.10.2018
comment
@AdeelTurk, WorkManger все еще находится на стадии альфа-тестирования, и у него много проблем. Мало кто это категорически не рекомендует. Есть ли другой способ ? Является ли это распространенной проблемой, с которой сталкиваются и другие (или) мне что-то не хватает в планировщике заданий?   -  person Velu    schedule 22.10.2018


Ответы (2)


Это известная проблема некоторых OEM-производителей Android, которые сильно модифицируют эту часть Android для оптимизации заряда батареи.

Помимо добавления вашего приложения в белый список, вы действительно можете только сообщить о проблеме:

  • OEM (в данном случае Xiaomi), чтобы избежать подобных критических изменений.
  • в Google, чтобы добавить тест в CTS и избежать такого поведения со стороны OEM-производителей.

Использование WorkManager не решит эту проблему, поскольку WM по-прежнему использует API JobScheduler, когда он доступен.
Из средства отслеживания проблем WorkManager: поддерживаются ли китайские производители (Huawei, Oppo, Xiaomi ...)?

person pfmaggi    schedule 22.10.2018
comment
это определенно расстраивает. они отключили получение широковещательных сообщений о подключении к Интернету, начиная с нуги. а затем мы вынуждены использовать workmanager, но затем эта проблема. тск - person chitgoks; 07.06.2020

С этого момента используйте WorkManager. Он будет обрабатывать все автоматически в зависимости от версии Android.

person Soheil Setayeshi    schedule 22.10.2018
comment
в стабильной версии 2.0.1 диспетчера работы он все еще не работает, когда автозапуск отключен - person Sayan Mukherjee; 16.04.2019