Introduction: Why you need apps on top of all windows
Overlay or floating windows are popular with Xiaomi users for a variety of reasons: it can be a handy chatbot that doesnβt interfere with your browser, or a navigator that hangs over Google maps. However, in MIUI (Xiaomiβs shell), this option is often hidden or limited β especially after system updates. Unlike βpureβ Android, where it is enough to issue permission in settings, Redmi, POCO or Mi will have to use workarounds.
The main problem β MIUI It blocks most applications from running in overlay mode by default, citing "safety" and "battery optimization." But there are legal ways around this: through the Special Options Settings, ADB-In this article, we will discuss all the current methods for MIUI 12β15, including solutions for cases where standard settings do not work.
Important: Some methods require permission to debug over USB (ADB) or root rights. If you're a beginner, start with the simplest methods, they'll work for 80 percent of tasks.
Method 1: Standard MIUI settings (without ADB)
The safest way is to use the built-in tools of the system, which is suitable for most applications (e.g. Messenger, Telegram in pipette mode, Google Maps in navigation).
- Open βSettingsβ β Applications β Application Management.
- Find the desired application in the list and tap it.
- Select Additional (or Permissions in older versions of MIUI).
- Activate the display switch over other windows (may be called Overlay or Floating window).
If this item is not available, then the application does not support the default overlay, or MIUI has blocked this feature for it, in which case, move on to the following methods.
β οΈ Attention: B MIUI 14+ Some system applications (e.g. Security or Theme Store) can automatically reset this resolution after rebooting.To avoid a problem, add the application to Battery Optimization Exceptions (path: Settings) β Battery β Optimizing the battery β All applications).
Enable debugging on USB (for ADB-methodologies)
Check the version of MIUI (Settings β About the phone)
Update the application to the latest version
Clear the application cache (Settings) β Annexes β [name] β Clear the cache)-->
List of apps that support overlays by default
- π± Telegram (Pipetka mode for video calls)
- πΊοΈ Google Maps (navigation in a small window)
- π¬ Facebook Messenger (floating chats)
- π΅ Spotify (mini player)
- π Tasker (for automation)
If your app isnβt on the list, try the method with ADB or special utilities (see the following sections).
Method 2: ADB resolution (for power users)
If the standard settings don't work, you can manually grant permission through Android Debug Bridge (ADB), which is universal and works even for applications that MIUI blocks out of the box.
- π₯οΈ Computer with installed ADB-driver.
- π± Xiaomi smartphone with enabled debugging USB (Path: Settings β The phone. β Version. MIUI β 7 times to tap β Return to Additional Settings β For developers).
- π USB-cable (preferably original).
Instructions:
- Connect the phone to the PC and confirm the debugging permission on the smartphone screen.
- Open the command prompt (Windows) or terminal (macOS/Linux) in the folder with adb.exe.
- Enter the command to check the connection: Adb devices must appear serial number of your device.
- Give permission to overlay for the desired application (replace com.example.app with its batch name): adb shell pm grant com.example.app android.permission.SYSTEM_ALERT_WINDOW
- Reboot the phone.
To find out the batch name of the application, use the command:
adb shell pm list packages | grep "appendix name"For example, for Telegram it is org.telegram.messenger.
adb shell appops set com.example.app SYSTEM_ALERT_WINDOW allowThis will secure permission at the system level.-->
β οΈ Note: Some applications (e.g. banking or high security) may block overlay even after permission is issued via the Internet. ADB. This is due to their internal security policies.
| Annex | Package name | Supports ADB-method? |
|---|---|---|
| Telegram | org.telegram.messenger | Yes. |
| com.whatsapp | Yes (notification only) | |
| Google Maps | com.google.android.apps.maps | Yes. |
| SberBank Online | ru.sberbankmobile | No (safety lock) |
| Tasker | net.dinglisch.android.taskerm | Yes. |
Standard settings of MIUI
ADB-team
Third-party utilities (e.g. Shizuku)
Ruth-right-->
Method 3: Use Shizuku and AppOps (for MIUI 13-15)
If ADB seems complicated, you can use Shizuku, which allows you to manage Android resolutions without root permissions, but using ADB for initial setup, which works on MIUI 13-15 and does not require a permanent connection to a PC.
Steps:
- Install Shizuku from Google Play.
- Connect your phone to your PC and execute the command: adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
- Open the Shizuku app on your phone and wait for the connection (the icon should turn green).
- Install AppOps (also from developer Shizuku).
- In AppOps, find the desired application and activate the permission. SYSTEM_ALERT_WINDOW.
The advantage of this method is that the resolution is saved after a reboot, unlike the standard ADB. However, Shizuku requires periodic updates (every few months), otherwise communication with the system will be interrupted.
What if Shizuku is not connected?
Comparison of methods: ADB vs Shizuku
- β‘ ADB: One-time setting, but the resolution may reset.
- π Shizuku: Requires a constant background process, but more reliable.
- π οΈ Ruth: The most reliable way, but risky (see next section).
Method 4: Ruth-Right and Magisk (for advanced)
If none of the previous methods worked, root rights remain, giving you full control of the system, but it is not guaranteed and can disrupt some features (such as Google Pay or banking applications), and use this method only if you understand the risks.
Instructions:
- Unlock the bootloader on Xiaomi through the official website (it takes 7-14 days).
- Install custom recovery (TWRP) and swipe Magisk.
- In Magisk, activate the App Systemizer or AppOps module.
- Through Terminal or ADB grant permission: su pm grant com.example.app android.permission.SYSTEM_ALERT_WINDOW
After that, any app will be able to run on top of other windows, but beware: some apps (such as Netflix or PokΓ©mon GO) can block root-righted devices.
β οΈ Attention: MIUI 14+ Xiaomi has tightened root rights protections. Using Magisk can result in a Mi Account being blocked or service denied under warranty.Before firmware, back up your data via Settings β Additionally. β Backup and reset.
π‘
Ruth-right is the last resort, and before you get them, check if there are alternatives (e.g. Shizuku or app updates).
Method 5: Bypasses for specific applications
Some apps have built-in features to run on top of other windows, but MIUI blocks them. Here's how to get around the restrictions for popular services:
1. Google Maps (navigation in a small window)
- π Start navigation in Google Maps.
- π Cover the app with the Home button.
- π± In the notification panel, find the navigation card and tap it β a floating window will open.
If the window doesnβt appear, check the permissions in Settings β Apps β Google Maps β Additional β Display on top of other windows.
2. Telegram (floating chats)
- π¬ Open a chat on Telegram.
- π Click on the interlocutor's avatar β Lock the chat.
- π Crash the app β the chat will remain in the form of a floating mug.
3. YouTube (peep mode)
To view the video in a small window:
- π₯ Launch the video on YouTube.
- π Click Home β Video should curl up in the corner of the screen.
- βοΈ If it doesnβt work, check the settings: YouTube Settings β General. β Pip-mode.
If these methods donβt work, try alternative clients (like NewPipe for YouTube or Footej Camera for floating cameras).
Solving the Problem: Why the App Doesn't Show Up on Others
Even after all the permissions are granted, the application may not work in overlay mode, and here are the most common reasons and solutions:
| Problem. | Possible cause | Decision |
|---|---|---|
| Permission resets after rebooting | MIUI blocks changes through ADB | Use Shizuku or Root Rights |
| The application is not displayed in the permission list | It doesn't support overlays. | Check the application documentation or use an alternative |
| Overlay works but disappears after a few seconds | Battery optimization kills the process | Add the app to battery exclusions (Settings β Battery β Battery Optimization) |
| Black screen instead of overlay | Conflict with MIUI theme or animations | Turn off animations in Settings β For developers β Animation scale (off) |
If the problem is not solved, try:
- π Clear the application cache (Settings) β Annexes β [name] β Clear the cache).
- π₯ Update the application to the latest version.
- π‘ Switch to another version MIUI (for example, from the Global EEA vice versa).