На телефонах Xiaomi, Oppo или Vivo - задача приложения не работает должным образом
У меня есть небольшой проект приложения для Android (используемый для новостей местного сообщества) на Android, который работает (или работал) с API 22 и более поздними версиями. Недавно мы обратили внимание на то, что на китайских телефонах, таких как Xiaomi, Oppo или Vivo, наши уведомления (как локальные, так и Firebase) не работают, даже если приложение занесено в белый список.
Я вижу некоторые предложения в онлайн-блогах по использованию AlarmManager (но я думаю, что это плохая идея - для уведомлений в реальном времени), не уверен
Я также пытался торговать по коду, как показано ниже, но все равно не повезло
https://github.com/commonsguy/cw-omnibus/tree/v8.4/Notifications/Foreground
Я понял, что если задача приложения заблокирована, она будет сохранена, и уведомление моего приложения будет работать.
Смотрите изображение ниже:
Как программно добиться этого?
Может ли это быть один код (или модуль) для всех версий Xiaomi, Oppo или Vivo (или, скажем, MiUI)?
1 ответ
Да, я также сталкивался с этой проблемой, я пробовал много данных решений в мобильных телефонах OPPO и VIVO, но проблема все еще не решена.
Вы пробовали метод onTaskRemoved() в классе обслуживания? когда мы проводим приложение или убиваем приложение, вызывается метод onTaskremoved() вместо onDestroy() класса Service.
Поэтому, возможно, есть решение, если мы отправим широковещательный приемник этим методом, который перезапускает Сервис.
А также посмотрите эту тему также:
Как включить автоматический запуск моего приложения в xiaomi программным способом
Может быть, это поможет.