
Телефон молчал весь день. Открываешь приложение вечером, а там три напоминания, которые должны были прийти в одиннадцать, в два и в четыре. Приложение честно их запланировало. Система честно их не показала.
Это не редкость и не поломка. Это результат двух разных механизмов, которые борются за одно и то же: заряд батареи.
Первый механизм: то, что делает сам 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 эти проверки вынесены в настройки напоминаний отдельным экраном со статусом и кнопкой, а не спрятаны в справку. Приложение, которое обещает напомнить, обязано показывать, в состоянии ли оно выполнить обещание. Всё, что за пределами стандартных разрешений, лечится руками в настройках телефона, и честнее сказать об этом прямо, чем делать вид, что проблемы нет.
Статья помогла?
Спасибо, это лучший ответ. Раз помогло, может пригодиться и кому-то ещё.
Спасибо, что сказали. Напишите, чего не хватило, и статью дополним: [email protected]
