Xiaomi, Redmi, POCO: пересылка SMS прекращается в фоновом режиме
Диспетчер батареи Xiaomi — сначала в MIUI, а теперь и в HyperOS — строже всех на Android. По умолчанию он останавливает любое приложение, которого нет на экране, поэтому пересылка SMS работает, пока приложение находится на экране, и прекращается, когда его там нет. Достаточно один раз изменить три настройки, чтобы решить проблему.
Три настройки
- Откройте приложение «Безопасность» → «Разрешения» → «Автозапуск».
- Найдите Resender и включите его переключатель.
- Затем откройте Настройки → «Батарея» → «Контроль активности» → Resender.
- Выберите «Нет ограничений».
- Автозапуск. Откройте Настройки → Приложения → Все приложения → Resender и включите Автозапуск. Без него система не запускает Resender при получении SMS после перезагрузки телефона или остановки приложения.
- Контроль активности: Нет ограничений. На том же экране откройте Контроль активности и выберите Нет ограничений. Пересылку задерживает стандартный режим Экономия энергии (рекомендуется).
- Закрепите приложение в списке недавних. Откройте список недавних приложений, нажмите и удерживайте карточку Resender, затем нажмите на значок замка. После этого Resender продолжит работать даже при очистке списка недавних приложений.
Затем отключите для Resender системную оптимизацию батареи Android. Для этого на главном экране приложения есть кнопка: она открывает системный список, где нужно найти Resender и выбрать Не экономить. Это также можно сделать вручную: Настройки → Приложения → Все приложения → Resender → Контроль активности или Настройки → Батарея → Экономия заряда батареи → Все приложения.
Как проверить результат
Заблокируйте телефон, подождите минуту и отправьте на него SMS с другого телефона. Электронное письмо должно прийти через несколько секунд. Если оно приходит только после разблокировки телефона или открытия приложения, одна из трёх настроек по-прежнему отключена — чаще всего это Автозапуск, который сбрасывается после обновления системы.
Что приложение не может сделать само
Ни у одного из этих экранов Xiaomi нет общедоступного программного интерфейса. Приложения не могут проверять или изменять эти настройки и даже не могут достоверно определить, включили ли вы их. Когда Android сообщает об ограничении работы, Resender показывает красную строку на главном экране и открывает нужный системный экран, но переключить настройку можете только вы. Если этого не сделать, SMS будут пересылаться с задержкой или не будут пересылаться вовсе, хотя приложение использовало все доступные ему возможности.
Вопросы
Почему сообщения приходят с задержкой в несколько часов или только после открытия приложения?
MIUI и HyperOS останавливают приложения, которых нет на экране, если для них не разрешён автозапуск и не отключена экономия заряда. Resender получает SMS только тогда, когда система снова разрешает ему работать, — отсюда и задержка. Один раз измените три настройки на этой странице, и сообщения будут пересылаться за несколько секунд.
Почему Resender не может изменить эти настройки самостоятельно?
У экранов настроек Xiaomi нет общедоступного программного интерфейса: приложения не могут проверять или изменять эти параметры и даже не могут определить, включили ли вы их. Единственная настройка Android, которую приложение могло бы изменить через отдельное системное окно, требует разрешения, которое Google Play предоставляет только приложениям-будильникам, приложениям для звонков и приложениям аналогичных категорий. Приложение для пересылки сообщений к ним не относится.
Я всё настроил, но через несколько дней пересылка снова прекращается.
Убедитесь, что Resender по-прежнему закреплён в списке недавних приложений: в некоторых версиях системы очистка списка кнопкой с метлой снимает закрепление. Также проверьте, не сбросила ли система настройки экономии заряда после обновления — обновления HyperOS иногда это делают.
Телефон должен оставаться разблокированным?
Нет. Телефон может быть заблокирован, но он не должен быть выключен или оставаться без подключения к интернету. Телефон с SIM-картой должен быть включён и подключён к мобильному интернету или Wi-Fi.
Для каких моделей Xiaomi это актуально?
Для всех телефонов с MIUI 12 или более новой версией, а также с HyperOS: Xiaomi, Redmi и POCO. Названия и расположение пунктов меню могут немного различаться в разных версиях, но эти три настройки есть во всех из них.