Как бороться с "оптимизацией батареи" Huawei и Xiaomi
У меня есть приложение, которое прослушивает уведомления через NotificationListenerService
, Мое приложение сохраняется как в режиме ожидания, так и в режиме ожидания практически на любом телефоне (при правильной настройке, например, исключение или служба переднего плана).
Затем появятся Huawei и Xiaomi со своими модификациями Android, чтобы "улучшить время автономной работы". Они могут так сильно испортить фоновые приложения, что через неделю или две приложение будет переустановлено. Даже очистка данных не "разморозит" приложение. Даже исключения из их собственных "оптимизаций" не могут надежно исправить это. Только полное отключение всех их оптимизаций, например включение режима высокой производительности, может исправить это. Но пользователи не хотят отключать эти параметры.
Как вы справляетесь с этими случаями? И как мы можем остановить производителей, чтобы они перестали возиться с ядром Android? Не говоря уже о смешных ANR и падениях в Zygote
:(
1 ответ
Затем появятся Huawei и Xiaomi со своими модификациями Android, чтобы "улучшить время автономной работы".
Да, у Xiaomi, Huawei и нескольких других производителей есть свой собственный слой "Battery Saver" или "Security", который убивает или ограничивает фоновые приложения, чтобы улучшить безопасность / резервное копирование батареи, если пользователь не внесет ваше приложение в белый список в соответствующих настройках устройства.,
Что я узнал о Xiaomi, так это о том, что они занесли в белый список известные приложения, такие как Facebook, Whatsapp и т. Д. Но вы не можете попросить Xiaomi внести в белый список ваше приложение.
Они могут так сильно испортить фоновые приложения, что через неделю или две приложение будет переустановлено. Даже очистка данных не "разморозит" приложение.
Эти приложения-производители просто прекращают процесс вашего приложения. Таким образом, ваше приложение должно вести себя таким образом, что завершение в любой момент не должно создавать противоречивое состояние.
Кроме того, вы всегда можете показать всплывающее окно пользователю после установки, попросив его перейти в белый список вашего приложения в режиме экономии заряда батареи. В Xiaomi пользователю нужно будет выбрать "Не ограничивать фоновую активность", а также включить "Автоматический запуск" для вашего приложения. Насколько я знаю, другого решения нет.
Дайте мне знать, если вы найдете один;)