Я работаю над приложениями, которые имеют некоторые фоновые сервисы (для блокировки приложений). Я использую Xiaomi Redmi Note 4g для разработки. MIUI имеет встроенный диспетчер задач, который можно использовать для уничтожения запущенных приложений. Когда я убиваю приложения с этим, все службы, трансляторы и будильники удаляются (как и ожидалось от диспетчера задач). Мое требование состоит в том, чтобы мои фоновые службы не очищались от задач-убийц, но если пользователь переходит к настройкам и принудительно закрывает, служба должна остановиться. Как мне это достичь?Перезапуск убитых (остановлен задачами-убийцами) служб в android, таких как Whatsapp
Btw, я знаю, что это невозможно сделать, поскольку Whatsapp и Truedialer (некоторые egs) уже делают это на последних версиях Android.
Мои наблюдения из Whatsapp:
- Я убить приложение из диспетчера задач
- Все услуги в Whatsapp останавливаются на «MessagingService» кроме
- просмотра списка запущенных приложений показывают статус «Перезагрузка»
- Запуск службы «AlarmService» (не уверен, что MessagingService запускает его или из AlarmManager)
- После временной задержки все службы запущены и запущены
Примечание: Таймер на MessagingService не сбрасывается, и она по-прежнему продолжает тикать. Но если я заставляю остановить службу, ее не запускать снова, пока я вручную не запустил приложение.
Аналогичные наблюдения сделаны для TrueDialer.
Я попытался воспроизвести это с помощью START_STICKY, AlarmManager, BroadcastReceiver, но не увенчался успехом. Может ли кто-нибудь помочь мне в этом? Я просто хочу понять, как Whatsapp достигает этого. Не стесняйтесь спрашивать, нужна ли вам дополнительная информация.
Я столкнулся же вопрос в Моем запуске службы приложения должным образом во всех устройствах, кроме Xiaomi реого. Мой сервис занимает до 5 минут для перезапуска, но я нашел что-то вроде приложения app, facebook, instagram, которое перезапускается через несколько секунд. Это показывает в Running App. – Hardik