служба привязки останавливается через 1 или 2 минуты, когда телефон заблокирован на некоторых устройствах, таких как oppo, устройство one plus

В связанной службе, когда я блокирую устройство после остановки службы на 70-80 секунд, я тестирую realme 3 pro и one plus 5, оба имеют API 9 PIE. Как поддерживать работу службы до тех пор, пока приложение не будет в недавней активности. Даже службы переднего плана также остановлены. Заранее спасибо.


person DjP    schedule 06.08.2019    source источник
comment
dontkillmyapp.com   -  person Tim    schedule 06.08.2019
comment
если бы вы могли упомянуть свой вариант использования, было бы полезно предложить решение.   -  person Sagar Nayak    schedule 08.08.2019
comment
Используйте ForegroundService   -  person Jignesh Mayani    schedule 08.08.2019
comment
Службы переднего плана также убиваются. @SilverskyTechnology   -  person DjP    schedule 13.08.2019
comment
Использовали ли вы уведомление о типе события с передним планом? оказание услуг ?   -  person Jignesh Mayani    schedule 13.08.2019
comment
Да, было уведомление о том, что запущена служба @SilverskyTechnology.   -  person DjP    schedule 13.08.2019
comment
Какой тип задачи вы хотите выполнять в своем классе обслуживания?   -  person Jignesh Mayani    schedule 13.08.2019
comment
чего вы хотите добиться с помощью сервиса   -  person Lakhwinder Singh    schedule 14.08.2019
comment
@LakhwinderSingh, SilverskyTechnology Чтобы телефон оставался доступным для сервера, в основном его приложение было доступно для сервера. это приложение VOIP.   -  person DjP    schedule 14.08.2019


Ответы (3)


Realme, Oneplus, Samsung, Xiaomi, Huawei и некоторые другие производители имеют собственный уровень «Экономия заряда батареи» или «Безопасность», который убивает или ограничивает фоновые приложения, чтобы улучшить безопасность / резервное копирование батареи, если только пользователь не внесет ваше приложение в белый список. в соответствующих настройках устройства.

Что я узнал о Xiaomi, так это то, что они вносят в белый список известные приложения, такие как Facebook, Whatsapp и т. д. Но вы не можете попросить Xiaomi внести ваше приложение в белый список.

Эти приложения производителей просто завершают процесс вашего приложения. Таким образом, ваше приложение должно вести себя таким образом, чтобы завершение в любой момент не приводило к несогласованному состоянию.

Кроме того, вы всегда можете показать всплывающее окно пользователю после установки с просьбой перейти и добавить ваше приложение в белый список в режиме энергосбережения. В Xiaomi пользователю нужно будет выбрать «Не ограничивать фоновую активность», а также включить «Автозапуск» для вашего приложения. Насколько я знаю, другого решения нет.

введите здесь описание изображения

введите здесь описание изображения

Заключение. Посетите https://dontkillmyapp.com и посмотрите, как приложения входят в белый список для вашего OEM-производителя. После внесения в белый список он будет работать как положено. Но в реальном мире его убьют, и пользователи не будут вручную вносить его в белый список.

person Prasad Pawar    schedule 14.08.2019

Пользовательские ПЗУ имеют свои собственные приложения безопасности, и они закрывают службу приложений, когда вы удаляете ее недавно или через несколько минут.

Чтобы ваше приложение продолжало работать в фоновом режиме, вы должны включить автозапуск из настроек.

Обратитесь к этому: Как чтобы исправить проблему, из-за которой активность автоматически прекращается через несколько минут в новой версии, например, vivo и oppo

person Sagar gujarati    schedule 06.08.2019
comment
тем не менее, служба останавливается - person DjP; 06.08.2019
comment
В каком телефоне? - person Sagar gujarati; 07.08.2019
comment
Оппо-устройство Realme 3 Pro - person DjP; 08.08.2019

Столкнувшись с той же проблемой в течение длительного времени, попробуйте добавить FCM в свое приложение и запустить службу напрямую из него или установить сигнал тревоги и запустить службу. В некоторых случаях вышеуказанное решение работает. Я добавил вышеуказанное решение в 4 проекта, но преуспел только в 1.

Проблемы, которые я обнаружил при преодолении проблемы с firebase.

  1. Уведомление Firebase приходит в приложение, но фоновая служба не запускается
  2. Уведомление Firebase не приходит в приложение
  3. Приходит уведомление Firebase, и служба запускается с широковещательного приемника (иногда служба не запускается напрямую из onMessageReceived() метода Firebase, поэтому я решил установить широковещательный приемник), но иногда он перестает работать.

Проблема, которую я обнаружил без внедрения Firebase

  1. Если мы настроим фоновую службу на запуск каждые 5 минут, чем на 1-2 часа, она будет работать с интервалом 5 минут, но через 2 часа временной интервал увеличится, и служба будет работать с интервалом 15 минут, а на некоторых устройствах она будет работать с интервалом 20-30 минут. интервал (я нашел это в нужное время, потому что телефон может работать в идеальном режиме).
  2. Как упоминалось в вашем вопросе, иногда любая из вышеперечисленных реализаций не работает.

Совет: что я нашел в журнале системных тревог?

  1. Я установил будильник на 2019-08-08 11:07:00, который не сработал, а текущее время 2019-08-08 11:10:00, но он отображается в ожидании в журнале системных тревог.

Вы можете проверить систему на все тревоги, установленные вашими приложениями.

D:\SDK\platform-tools>adb shell dumpsys alarm
person Ronil Raut    schedule 08.08.2019