Background mode on Xiaomi: how to allow the application to work in the background without restrictions

Xiaomi’s MIUI-based smartphones are known for aggressive battery optimization, which often blocks the background of apps from messengers to fitness trackers. Users face problems: Viber does not send notifications, Google Fit stops syncing data, and Telegram “falls asleep” 5 minutes after folding. In this article, we will discuss all ways to allow the background mode on Redmi, POCO and Mi devices – from basic settings to hidden developer parameters.

It's important to understand that MIUI 14+ automatically limits background activity for 90% of applications, even if you manually authorized auto-run. It's part of the Adaptive Battery system that learns from your habits. But there are workarounds, from whitelisting the app to disabling deep optimization through ADB. We tested all methods on the Redmi Note 12 Pro+, POCO F5 and Xiaomi 13T, the results in the comparison table below.

Why Xiaomi is blocking the background mode of applications?

The MIUI shell uses three levels of constraints that prevent applications from running in the background:

  • 🔋 Battery Optimization: The System Forcedly “Sleeps” Applications Through the App 3-10 minutes after the folding, unless they are on the list of frequently used.
  • 🚫 Auto-Start Lock: By default, new apps cannot start automatically after a restart or on schedule.
  • 🔔 Limitation of Notifications: Even if Notifications are Allowed, MIUI It can be hidden if the application has not been opened for a long time.

For example, WhatsApp stops showing messages after 15 minutes in the background because the system considers it “unpriority”, and SberBank Online may not send push notifications about payments due to the blocking of auto-start, the manufacturer motivates this by increasing battery life, but for many users such restrictions become a problem.

📊 What app you most often "fall asleep" in the background?
Messengers (WhatsApp, Telegram)
Social networks (Vkontakte, Instagram)
Fitness trackers (Google Fit, Mi Fit)
Banking applications
Other

Basic settings: Autostart and Lock

The first step is to check autorun and background permissions in standard settings, which works on all versions of MIUI (12 to 14) and does not require root permissions.

  1. Open Settings → Applications → Application Management.
  2. Select the application you want (such as Telegram).
  3. Go to the Permissions section and enable: 🔄 Auto-Run (allows start-up after restart) 📱 Background activity (allows to work in a curled state) 🔔 Notifications (include all types: sound, banner, icon)

Battery → No restrictions.

After that, the application will have basic rights to work in the background, but MIUI can restrict it again after 1-2 days if it considers it "rarely used." To consolidate the result, move to the next section.

Auto-start on.|Background activity permitted|Notifications of all types activated|Battery mode "No restrictions"-->

Hidden settings: “Special permissions” and optimization

MIUI has a hidden section called Special Permissions, where you can manually add an application to a system whitelist, which prevents automatic restrictions.

Instructions:

  1. Go to Settings → Applications → Special Permissions → Autorun.
  2. Find your app (like VKontakte) and turn on the switch.
  3. Go back and select Battery Optimization → All applications.
  4. Press three points (⋮) in the upper right corner and select Show Systems.
  5. Find your app and install it without restrictions.

For POCO and newer versions of MIUI, the path may be different: Settings → Battery and Performance → Battery Consumption Management → Application Choice.

What to do if the application is not in the list of "Autostart"?
If the app doesn’t show up in the AutoRun section, try: 1. Reinstall it (sometimes helps). 2. Clear the cache in Settings → Annexes → [name] → Warehouse → Clear the cache. 3. Use it. ADB-team (described in the section below).

Disabling the adaptive battery through the developer settings

The Adaptive Battery (or MIUI Optimization) system is the main culprit behind the background issues, and it can be disabled through the developer's settings, but it will affect autonomy.

How to activate the developer mode:

  1. Go to Settings. → The phone.
  2. Click on the MIUI version 7 times (you will be notified that you are a developer).
  3. Back to Settings → Additionally. → For developers.

⚠️ Attention: Disabling Optimization MIUI It can increase battery consumption by 10-15%. If autonomy is critical, use this method only for individual applications through the ADB (see next section).

ADB-commands for deep unlocking the background

If standard methods don't work, you can turn off the optimization via ADB. This is the most reliable way, but it requires a connection to a computer.

Step-by-step:

  1. Download Platform Tools (the official tool from Google).
  2. Enable USB debugging in the developer settings.
  3. Connect your phone to your PC and type in the command line: Adb devices (your device should appear)
  4. Execute the command to disable optimization: adb shell dumpsys deviceidle whitelist +com.example.app (replace com.example.app with your application package, for example, org.telegram.messenger)

List of popular application packages:

AnnexPacket nameADB-team
Telegramorg.telegram.messengeradb shell dumpsys deviceidle whitelist +org.telegram.messenger
WhatsAppcom.whatsappadb shell dumpsys deviceidle whitelist +com.whatsapp
VKontaktecom.vkontakte.androidadb shell dumpsys deviceidle whitelist +com.vkontakte.android
Google Fitcom.google.android.apps.fitnessadb shell dumpsys deviceidle whitelist +com.google.android.apps.fitness
Sberbank Onlineru.sberbankmobileadb shell dumpsys deviceidle whitelist +ru.sberbankmobile

Once you've done the command, restart your phone. The app will no longer be limited to the system, but battery consumption may increase. To return the restrictions, use the same minus command:

adb shell dumpsys deviceidle whitelist -com.example.app

adb shell pm list packages | grep "appendix name"

Alternative methods: automatic awakening and tasks

If the application needs to perform tasks on a schedule (e.g., Mi Fit syncs data every 30 minutes), use:

  • ⏰ Task Planner: Some firmware has a built-in Settings tool → Additionally. → Task scheduler: Create a task with "Start App" and set the interval.
  • 🤖 Automation applications: MacroDroid or Tasker can simulate clicks and wake up an app. Example of a macro for Telegram: Trigger: "Time Interval" (every 30 minutes). Action: "Open the app" → Telegram Action: Wait 5 seconds" → "Close the application".
  • ☁️ Push notifications via FCM: Some apps (like Pushbullet) may send “empty” push notifications to wake up the main app.