KIPRIassistant

Уведомления не приходят на Android: кто их душит

Xiaomi, Samsung и Huawei усыпляют приложения по своим правилам. Где лежат настройки автозапуска и батареи и как за пятнадцать минут проверить, помогло ли.


Телефон молчал весь день. Открываешь приложение вечером, а там три напоминания, которые должны были прийти в одиннадцать, в два и в четыре. Приложение честно их запланировало. Система честно их не показала.

Это не редкость и не поломка. Это результат двух разных механизмов, которые борются за одно и то же: заряд батареи.

Приложениеставит напоминание на времяAndroidDoze и корзины ожиданияможет отложитьОболочкаавтозапуск, батарея, очисткаможет остановитьУведомлениена экране вовремя
Где напоминание может застрять по дороге. Первое место - механизмы самого Android, второе - оптимизатор производителя поверх них.

Первый механизм: то, что делает сам Android

С шестой версии в Android есть Doze. Телефон лежит неподвижно, экран выключен, зарядки нет - система переводит его в спящий режим и собирает фоновую работу в редкие окна. Дальше, с девятой версии, добавились корзины ожидания: система следит, как часто вы открываете приложение, и раскладывает приложения по группам от активной до ограниченной. Чем реже открываете, тем реже приложению дают проснуться.

Это работает предсказуемо, и обходить это правильным способом умеет любое приложение с напоминаниями: точный будильник Doze не отменяет. Про то, какое именно разрешение за это отвечает, есть отдельный разбор.

Второй механизм: то, что сверху добавил производитель

А вот здесь начинается самодеятельность. Китайские и корейские оболочки поверх стандартного Android ставят собственные “оптимизаторы”, и правила у них свои, недокументированные и меняющиеся от версии к версии. Приложение может делать всё по инструкции Google и всё равно быть убитым.

Xiaomi, Redmi, POCO. Самый агрессивный случай. Нужны три вещи. Автозапуск для приложения (лежит в настройках приложений, в разделе с правами, либо в приложении “Безопасность”). Затем экономия энергии для этого приложения: поставить “Без ограничений” вместо “Стандартный режим”. И третье, про которое обычно не знают: в списке недавних приложений карточку можно “закрепить” замком, и тогда очистка списка её не сносит.

Samsung. Настройки, дальше батарея, дальше ограничения в фоновом режиме (на прошивках до One UI 7 батарея спрятана внутри «Обслуживания устройства»). Там два списка, спящие и глубоко спящие приложения. Глубоко спящее приложение не работает в фоне вообще и уведомлений не показывает. Проверьте, что вашего в этих списках нет, и заодно добавьте его в список “никогда не усыплять”.

Huawei и Honor. Настройки, батарея, запуск приложений. По умолчанию стоит автоматическое управление, которое и есть проблема. Нужно переключить приложение на ручное и включить все три галочки: автозапуск, косвенный запуск, работа в фоне.

OPPO, realme, OnePlus, vivo, Tecno и Infinix. Логика та же: найти в настройках батареи пункт про фоновую активность или автозапуск и разрешить приложению работать. Формулировки отличаются в каждой версии прошивки, но нужный переключатель всегда где-то рядом с батареей.

Чтобы не листать всё подряд, у нас есть проверка настроек уведомлений: выбираете марку и версию Android и получаете список ровно тех пунктов, которые нужно пройти, с галочками. А если нужна инструкция под конкретную модель, есть dontkillmyapp.com - проект, который годами собирает эти настройки по производителям. Он существует ровно потому, что проблема системная.

Если молчит именно Telegram, а остальное приходит, у него поверх системы есть свои настройки: заглушённые чаты, приоритет, фоновое соединение. Про них отдельный разбор. У WhatsApp ловушки свои: из архивных чатов уведомления не приходят вовсе, кроме упоминаний и ответов, а второй телефон, планшет или компьютер получают уведомления независимо от основного телефона и настраиваются отдельно. Это собрано в разборе по WhatsApp.

Как проверить, что дело именно в этом

Не надо ждать неделю. Поставьте напоминание через пятнадцать минут, заблокируйте телефон и положите его экраном вниз. Не трогайте. Совсем: разблокировка сбрасывает засыпание и портит проверку.

Пришло секунда в секунду - оболочка не при чём, копайте в разрешениях самого приложения. Пришло с опозданием или не пришло - вы только что воспроизвели проблему, и дальше имеет смысл менять настройки по одной и повторять этот же тест.

Пятнадцати минут иногда мало: некоторые оболочки прибивают приложение через час-два простоя. Если быстрый тест прошёл, а в реальной жизни всё равно опаздывает, повторите с интервалом в три часа.

Чего делать не нужно

Не ставьте “оптимизаторы” и “ускорители” из магазина приложений. Они делают ровно то, на что вы жалуетесь: закрывают фоновые процессы. Приложение с напоминаниями для такой программы выглядит как лишний расход батареи, а не как то, ради чего телефон куплен.

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

Почему приложения об этом молчат

Технически приложение не может узнать, что его собирается убить оболочка. Никакого события “вас сейчас усыпят” не приходит. Оно может лишь проверить стандартные вещи: выданы ли разрешения на уведомления и точные будильники, исключено ли оно из оптимизации батареи.

Поэтому в KIPRI эти проверки вынесены в настройки напоминаний отдельным экраном со статусом и кнопкой, а не спрятаны в справку. Приложение, которое обещает напомнить, обязано показывать, в состоянии ли оно выполнить обещание. Всё, что за пределами стандартных разрешений, лечится руками в настройках телефона, и честнее сказать об этом прямо, чем делать вид, что проблемы нет.

Статья помогла?

Все записи

Забирайте Кипри себе

На бесплатном тарифе работает всё приложение целиком. Ограничения начинаются там, где начинается серьёзный объём.

Новости и промокоды выходят в Telegram-канале