На телефонах 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 программным способом

Может быть, это поможет.

Другие вопросы по тегам