Background mode on Xiaomi: how to allow applications without restrictions MIUI

Xiaomi’s MIUI-based smartphones are known for aggressive battery optimization, which often blocks application background activity. Users face problems: messengers don’t send notifications, health trackers stop recording steps, and music players suddenly stop, and the reason lies in energy-saving algorithms that automatically pause processes to save charge.

In this article you will find the latest ways to unlock background work for all modern versions. MIUI (12 to 15), including hidden settings and workarounds for stock and custom firmware, and we'll look at how the constraints differ on Redmi models, POCO We will also explain why some applications (such as WhatsApp or Google Fit) require separate configuration. MIUI The parameters can be reset – we will show you how to avoid it.

Why Xiaomi is blocking the background of applications

The MIUI shell uses three levels of optimization that directly affect background processes:

  • πŸ”‹ Adaptive battery: the algorithm analyzes user habits and limits rarely used applications. For example, if you haven’t opened Telegram for 2 days, the system can suspend its background synchronization.
  • ⚑ Power saving mode: activated automatically at a charge level below 15% or manually via Settings β†’ Battery: In this mode, background activity is blocked for all applications except system.
  • πŸ›‘οΈ Protection of confidentiality: in MIUI 14+ added restrictions on access to geolocation and sensors in the background, which affects fitness trackers and navigators.

The manufacturer argues that this is due to concern about battery life, but in practice, aggressive optimization leads to the loss of up to 40% of notifications in messengers and improper operation of geolocation services. MIUI It is often mistakenly classified as β€œenergy-intensive".

πŸ“Š What kind of background work problem did you notice on Xiaomi?
Notifications are missing
Apps close themselves
Geolocation is not working.
Player stops
Other

Method 1: Auto-Run permission for applications

The first step is to enable auto-run for the right programs, without which they will not be able to start automatically after restarting or cleaning the memory.

  1. Open Settings β†’ Applications β†’ Application Management.
  2. Slip on the three dots in the upper right corner and select AutoRun.
  3. Find the right app (like Viber) and activate the switch.

In MIUI 14/15, the path has changed: Autorun is now hidden in Settings β†’ Applications β†’ Permissions β†’ AutoRun. On some models (POCO F5, Redmi Note 12), this item may be called Autoboot.

β˜‘οΈ Auto-start check

Done: 0 / 5

⚠️ Attention: After update MIUI The list of auto-run applications is reset. To avoid this, back up your settings through Settings. β†’ Additionally. β†’ Backup and select System Settings.

Method 2: Disabling Battery Optimization

Even with auto-run enabled, MIUI can pause applications after 5-10 minutes of inactivity.

  1. Go to Settings β†’ Battery β†’ Battery Optimization.
  2. Select All Apps in the drop-down menu.
  3. Find the app you want (like Google Maps) and tap it.
  4. Select No Limits (in older versions – No Limits).

A new option for MIUI 15, Intelligent Control, has been added, and must be disabled for critical applications (messengers, navigators) or the system will ignore manual settings after 24 hours of inactivity.

MIUI versionThe path to settingsOptimal regimen
MIUI 12/13Settings β†’ Battery β†’ Battery OptimizationNo restrictions.
MIUI 14Settings β†’ Battery β†’ Battery managementNo restrictions + disable the adaptive battery
MIUI 15Settings β†’ Battery β†’ Intelligent ControlDisable for selected applications

πŸ’‘

If the optimization list does not have the right application, open it at least once – MIUI adds programs to the list only after the first run.

Method 3: Fixing applications in memory (blocking cleansing)

MIUI aggressively clears background processes when the screen is locked, to prevent this from happening:

  1. Open Recent Apps (swipe up with a delay).
  2. Find the card of the desired application (for example, a music player).
  3. Swipe down the card - an icon will appear. πŸ”’ Block it.
  4. Slip it to fix the application in memory.

Nana POCO and the new Redmis (C) MIUI 14+) This method only works for 3-5 The other two will need to use the same app. ADB-commands (see method) 5). Also note that the fixation increases the battery consumption on the 5-15% depending on the application.

How do you check if the fixation is working?
Open the terminal (via ADB or Termux) and enter the command: dumpsys activity activities | grep mLockTaskToFront If the output contains the name of your application – fixation is active.

Method 4: Configure permissions for background work

MIUI 13+ has additional restrictions on background access to:

  • πŸ“ Geolocations: affects Google Maps, Yandex.Navigator, fitness trackers.
  • πŸ“Ά Mobile data: without this permission, applications are not updated in the background through 3G/4G.
  • πŸ”„ Autosynchronization: Critical for email clients and cloud services.

To set up:

  1. Go to Settings β†’ Applications β†’ Application Management.
  2. Select the desired application β†’ permissions.
  3. Activate: Allow background activity (if any) Permanent access to geodata (for navigators) Autorun when booting the system

⚠️ Attention: On Xiaomi 13/14 s MIUI 15 The permissions section is divided into two tabs: Primary and Additional. background permissions are hidden in the second tab and are disabled by default for all applications.

Method 5: ADB-Deep tuning teams (for experienced ones)

If standard methods don't work, use ADB to disable all restrictions, which requires a computer and USB Debugging enabled.

Steps:

  1. Enable Developer Mode (7 taps on the MIUI version in Settings β†’ About Phone).
  2. Activate USB Debugging in Settings β†’ Additional β†’ For developers.
  3. Connect your phone to your PC and execute the commands: adb shell dumpsys deviceidle whitelist +com.example.app adb shell cmd appops set com.example.app RUN_ANY_IN_BACKGROUND allow adb shell cmd appops set com.example.app RUN_IN_BACKGROUND allow you to replace com.example.app with your application’s batch name (e.g. com.whatsapp).

To massively disable optimization for all applications, use:

adb shell settings put global hidden_api_policy 1

πŸ’‘

ADB-Commands are reset after a phone reset or update MIUI. To automate the process, create a.bat file with the right commands and run it after each update.

Solving problems with specific applications

Some programs require additional action:

  • πŸ’¬ Messengers (WhatsApp, Telegram): Enable the Display of notifications in the app settings. β†’ Notifications β†’ Special permissions activate Pop-up notifications.
  • 🎡 Music players (Spotify, YouTube Music): In the player settings, turn off Battery Optimization (if any). Lock the application in memory (method 3).
  • πŸƒ Fitness trackers (Google Fit, Mi Fitness): Allow Persistent Access to Geodata. Add to the Battery Optimization Exceptions (Mode 2).

For Google Play Services (critical for many apps) do:

adb shell cmd appops set com.google.android.gms RUN_ANY_IN_BACKGROUND allow

Frequent Mistakes and How to Avoid Them

Users often face the following problems:

  1. Settings are reset after the update: Solution: Before updating MIUI, back up through Settings β†’ Additional β†’ Backup by selecting System Settings. After the update, restore the settings from the backup.
  2. The application does not appear in the autorun list: Solution: first open the application at least once. MIUI adds programs to the autorun list only after the first start. If the problem persists, check if the application is removed from the system (for example, through ADB or root rights).
  3. Notifications come with a delay: Solution: In addition to autorun, check your sync settings in Settings β†’ Accounts and Sync. Turn off Background Traffic Limitation for your Mi or Google account.

⚠️ Attention: POCO M6 Pro and Redmi Note 13 with MIUI 15 new parameter appeared - Intelligent optimization in Settings β†’ The battery must be turned off for the background processes to function properly.

Why does the app still close after all the settings?
Probable reasons: The app uses outdated APIs for background work (check the updates in Google Play); Power Saving or Ultra Mode is activated in the battery settings; Task Killer (like Greenify) is installed on the phone, which forcibly closes processes. Solution: check the logs through ADB with the adb logcat | grep "kill" command - this will show which process closes your application.
How to find out the package name of the application for ADB-team?
Install the App Inspector app from Google Play or use the command: adb shell pm list packages | grep "keyword word" For example, for WhatsApp, type adb shell pm list packages | grep whatsapp.
Will the battery be used up after optimisation is turned off?
Yes, but not critical. According to our tests on Xiaomi 13 Pro: One application without restrictions increases consumption by ~3-5% per day, 5-7 applications without restrictions - up to 10-12% of additional consumption, Fixing in memory adds another ~2-3% per application. Recommendation: disable optimization only for critical applications (messengers, navigators).
Does this work for POCO and Redmi?
Yes, but there are nuances: POCO F5/X5: path to autorun - Settings β†’ Applications β†’ Application Management β†’ Autoboot. Redmi Note 12: MIUI 14 added the item Deep Optimization in battery settings - it needs to be turned off. POCO M6 Pro: there is no separate section for fixing applications - use ADB.
Can you automate your settings after resetting your phone?
Yes, with Tasker or MacroDroid: Create a task with the condition "Complete system boot." Add actions: ADB Command (for commands from method 5). AutoInput (for auto-start). MacroDroid macro example: Trigger: Device Boot Actions: 1. ADB Command: dumpsys deviceidle whitelist +com.whatsapp 2. AutoInput: Tap on "Autostart" in Settings