Как закрепить приложение поверх всех окон на Xiaomi: полная инструкция с ADB и без

Введение: зачем нужны приложения «поверх всех окон»

Функция отображения приложений поверх других окон (англ. overlay или floating window) востребована среди пользователей Xiaomi по множеству причин. Это может быть удобный чат-бот, который не мешает работе в браузере, или навигатор, висящий поверх карт Google. Однако в MIUI (оболочке Xiaomi) эта опция часто скрыта или ограничена — особенно после обновлений системы. В отличие от «чистого» Android, где достаточно выдать разрешение в настройках, на Redmi, POCO или Mi придётся использовать обходные пути.

Главная проблема — MIUI блокирует большинство приложений от работы в режиме оверлея по умолчанию, ссылаясь на «безопасность» и «оптимизацию батареи». Но есть легальные способы обойти это: через Настройки специальных возможностей, ADB-команды или даже сторонние утилиты. В этой статье разберём все актуальные методы для MIUI 12–15, включая решения для случаев, когда стандартные настройки не работают.

Важно: некоторые способы требуют разрешения на отладку по USB (ADB) или рут-прав. Если вы новичок, начните с самых простых методов — они подойдут для 80% задач.

Метод 1: Стандартные настройки MIUI (без ADB)

Самый безопасный способ — использовать встроенные инструменты системы. Он подходит для большинства приложений (например, Messenger, Telegram в режиме пипетки, Google Maps в навигации). Вот как это сделать:

  1. Откройте «Настройки»ПриложенияУправление приложениями.
  2. Найдите нужное приложение в списке и тапните по нему.
  3. Выберите пункт Дополнительно (или Разрешения в старых версиях MIUI).
  4. Активируйте переключатель Отображать поверх других окон (может называться Оверлей или Floating window).

Если этого пункта нет — значит, приложение не поддерживает оверлей по умолчанию, либо MIUI заблокировала эту функцию для него. В таком случае переходите к следующим методам.

⚠️ Внимание: В MIUI 14+ некоторые системные приложения (например, Безопасность или Тематический магазин) могут автоматически сбрасывать это разрешение после перезагрузки. Чтобы избежать проблемы, добавьте приложение в Исключения оптимизации батареи (путь: Настройки → Батарея → Оптимизация батареи → Все приложения).

Включить отладку по USB (для ADB-методов)

Проверить версию MIUI (Настройки → О телефоне)

Обновить приложение до последней версии

Очистить кэш приложения (Настройки → Приложения → [имя] → Очистить кэш)-->

Список приложений, которые поддерживают оверлей по умолчанию

  • 📱 Telegram (режим «Пипетка» для видеозвонков)
  • 🗺️ Google Maps (навигация в маленьком окне)
  • 💬 Facebook Messenger (плавающие чаты)
  • 🎵 Spotify (мини-плеер)
  • 📊 Tasker (для автоматизации)

Если вашего приложения нет в списке — попробуйте метод с ADB или специальными утилитами (см. следующие разделы).

Метод 2: Разрешение через ADB (для опытных пользователей)

Если стандартные настройки не сработали, можно вручную выдать разрешение через Android Debug Bridge (ADB). Этот метод универсален и работает даже для приложений, которые MIUI блокирует «из коробки». Вам понадобится:

  • 🖥️ Компьютер с установленными ADB-драйверами.
  • 📱 Смартфон Xiaomi с включённой Отладкой по USB (путь: Настройки → О телефоне → Версия MIUI → 7 раз тапнуть → Вернуться в Дополнительные настройки → Для разработчиков).
  • 🔌 USB-кабель (желательно оригинальный).

Инструкция:

  1. Подключите телефон к ПК и подтвердите разрешение на отладку на экране смартфона.
  2. Откройте командную строку (Windows) или терминал (macOS/Linux) в папке с adb.exe.
  3. Введите команду для проверки подключения:
    adb devices

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

  4. Выдайте разрешение на оверлей для нужного приложения (замените com.example.app на его пакетное имя):
    adb shell pm grant com.example.app android.permission.SYSTEM_ALERT_WINDOW
  5. Перезагрузите телефон.

Чтобы узнать пакетное имя приложения, используйте команду:

adb shell pm list packages | grep "название_приложения"

Например, для Telegram это org.telegram.messenger.

adb shell appops set com.example.app SYSTEM_ALERT_WINDOW allow

Это закрепит разрешение на уровне системы.-->

⚠️ Внимание: Некоторые приложения (например, банковские или с высоким уровнем безопасности) могут блокировать работу в режиме оверлея даже после выдачи разрешения через ADB. Это связано с их внутренними политиками безопасности.
Приложение Пакетное имя Поддерживает ADB-метод?
Telegram org.telegram.messenger Да
WhatsApp com.whatsapp Да (только для уведомлений)
Google Maps com.google.android.apps.maps Да
SberBank Online ru.sberbankmobile Нет (блокировка по безопасности)
Tasker net.dinglisch.android.taskerm Да

Стандартные настройки MIUI

ADB-команды

Сторонние утилиты (например, Shizuku)

Рут-прав-->

Метод 3: Использование Shizuku и AppOps (для MIUI 13–15)

Если ADB кажется сложным, можно воспользоваться утилитой Shizuku — она позволяет управлять разрешениями Android без рут-прав, но с использованием ADB для первоначальной настройки. Этот метод работает на MIUI 13–15 и не требует постоянного подключения к ПК.

Шаги:

  1. Установите Shizuku из Google Play.
  2. Подключите телефон к ПК и выполните команду:
    adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
  3. Откройте приложение Shizuku на телефоне и дождитесь подключения (значок должен стать зелёным).
  4. Установите AppOps (тоже от разработчика Shizuku).
  5. В AppOps найдите нужное приложение и активируйте разрешение SYSTEM_ALERT_WINDOW.

Преимущество этого метода — разрешение сохраняется после перезагрузки, в отличие от стандартного ADB. Однако Shizuku требует периодического обновления (раз в несколько месяцев), иначе связь с системой прервётся.

Что делать, если Shizuku не подключается?

1. Проверьте, включена ли отладка по USB (Настройки → Для разработчиков).

2. Убедитесь, что на ПК установлены актуальные ADB-драйверы (скачайте их с сайта Android Studio).

3. Попробуйте перезагрузить телефон и повторить команду adb start-server перед запуском Shizuku.

4. Если используете Windows, запускайте командную строку от имени администратора.

Сравнение методов: ADB vs Shizuku

  • ADB: одноразовая настройка, но разрешение может сброситься.
  • 🔄 Shizuku: требует постоянного фонового процесса, но надёжнее.
  • 🛠️ Рут: самый надёжный способ, но рискованный (см. следующий раздел).

Метод 4: Рут-прав и Magisk (для продвинутых)

Если ни один из предыдущих способов не сработал, остаётся получение root-прав. Это даёт полный контроль над системой, но лишает гарантии и может нарушить работу некоторых функций (например, Google Pay или банковских приложений). Используйте этот метод только если вы понимаете риски.

Инструкция:

  1. Разблокируйте загрузчик на Xiaomi через официальный сайт (требуется ожидание 7–14 дней).
  2. Установите кастомное recovery (TWRP) и прошейте Magisk.
  3. В Magisk активируйте модуль App Systemizer или AppOps.
  4. Через Terminal или ADB выдайте разрешение:
    su
    

    pm grant com.example.app android.permission.SYSTEM_ALERT_WINDOW

После этого любое приложение сможет работать поверх других окон, но будьте осторожны: некоторые приложения (например, Netflix или Pokémon GO) могут блокировать устройства с рут-правами.

⚠️ Внимание: На MIUI 14+ Xiaomi ужесточила защиту от рут-прав. Использование Magisk может привести к блокировке аккаунта Mi или отказу в обслуживании по гарантии. Перед прошивкой сделайте резервную копию данных через Настройки → Дополнительно → Резервное копирование и сброс.

Метод 5: Обходные пути для конкретных приложений

Некоторые приложения имеют встроенные функции для работы поверх других окон, но MIUI их блокирует. Вот как обойти ограничения для популярных сервисов:

1. Google Maps (навигация в маленьком окне)

  • 🚗 Запустите навигацию в Google Maps.
  • 🔍 Сверните приложение кнопкой Домой.
  • 📱 В панели уведомлений найдите карточку навигации и тапните по ней — откроется плавающее окно.

Если окно не появляется, проверьте разрешения в Настройки → Приложения → Google Maps → Дополнительно → Отображать поверх других окон.

2. Telegram (плавающие чаты)

  • 💬 Откройте чат в Telegram.
  • 📌 Нажмите на аватарку собеседника → Закрепить чат.
  • 🔄 Сверните приложение — чат останется в виде плавающего кружка.

3. YouTube (пип-режим)

Для просмотра видео в маленьком окне:

  • 🎥 Запустите видео на YouTube.
  • 🔍 Нажмите Домой — видео должно свернуться в угол экрана.
  • ⚙️ Если не работает, проверьте настройки: Настройки YouTube → Общие → Пип-режим.

Если эти методы не срабатывают, попробуйте альтернативные клиенты (например, NewPipe для YouTube или Footej Camera для плавающих камер).

Решение проблем: почему приложение не отображается поверх других

Даже после выдачи всех разрешений приложение может не работать в режиме оверлея. Вот самые распространённые причины и их решения:

Проблема Возможная причина Решение
Разрешение сбрасывается после перезагрузки MIUI блокирует изменения через ADB Используйте Shizuku или рут-прав
Приложение не отображается в списке разрешений Оно не поддерживает оверлей Проверьте документацию приложения или используйте альтернативу
Оверлей работает, но исчезает через несколько секунд Оптимизация батареи убивает процесс Добавьте приложение в исключения батареи (Настройки → Батарея → Оптимизация батареи)
Чёрный экран вместо оверлея Конфликт с темой или анимациями MIUI Отключите анимации в Настройки → Для разработчиков → Масштаб анимации (выключить)

Если проблема не решена, попробуйте:

  • 🔄 Очистить кэш приложения (Настройки → Приложения → [имя] → Очистить кэш).
  • 📥 Обновить приложение до последней версии.
  • 📡 Переключиться на другую версию MIUI (например, с Global на EEA или наоборот).
Как проверить, поддерживает ли приложение оверлей?

1. Посмотрите описание в Google Play — часто там указано "поддержка плавающих окон".

2. Используйте Overlay Checker — утилита показывает все приложения с разрешением SYSTEM_ALERT_WINDOW.

3. Проверьте настройки приложения — иногда опция скрыта в Экспериментальные функции или Лаборатория.

FAQ: Частые вопросы по оверлею на Xiaomi

Можно ли сделать оверлей без компьютера?

Да, но с ограничениями. Для большинства приложений достаточно стандартных настроек MIUI (Настройки → Приложения → Разрешения → Отображать поверх других окон). Если этот метод не работает, попробуйте утилиты вроде Island (для клонирования приложений) или App Cloner, которые иногда обходят ограничения.

Почему после обновления MIUI оверлей перестал работать?

Xiaomi часто сбрасывает разрешения для сторонних приложений после крупных обновлений. Решения:

  1. Повторно выдайте разрешение через ADB или Shizuku.
  2. Проверьте, не добавила ли MIUI ваше приложение в Список ограниченных (Настройки → Специальные возможности → Приложения с оверлеем).
  3. Если ничего не помогает, откатнитесь на предыдущую версию MIUI через Fastboot (инструкции есть на xiaomi.eu).
Безопасно ли использовать ADB для выдачи разрешений?

Да, если вы скачиваете platform-tools с официального сайта Android Developers. Риски минимальны, так как вы не изменяете системные файлы, а только выдаёте разрешение. Однако:

  • Не используйте ADB из непроверенных источников (риск вирусов).
  • Не выдавайте разрешение SYSTEM_ALERT_WINDOW неизвестным приложениям — это может привести к показу рекламы поверх всех окон.
Как узнать пакетное имя приложения без ADB?

Есть несколько способов:

  1. Используйте приложение App Inspector.
  2. Посмотрите URL приложения в Google Play — пакетное имя указано после id= (например, com.whatsapp).
  3. В MIUI перейдите в Настройки → Приложения → [имя] → Дополнительно — иногда имя пакета отображается там.
Работает ли оверлей на POCO и Black Shark?

Да, все методы из этой статьи применимы к POCO и Black Shark, так как они работают на базе MIUI (или её модификаций вроде POCO Launcher). Исключение — устройства на HyperOS (новая оболочка Xiaomi), где могут быть дополнительные ограничения. Для них рекомендуется использовать Shizuku или рут-прав.