How to remove the charging animation Xiaomi: methods and nuances

Owners of Xiaomi, Redmi and POCO smartphones often experience intrusive system behavior when connecting a power cable.The screen lights up, showing large animations of the percentage of charge that can interfere with using the device in the dark or distract while working. This effect is especially annoying if you connect the phone to a power bank or computer for a quick recharge, rather than for a full session of use.

Unfortunately, the standard MIUI shell settings or the new HyperOS don't have a switch to fully deactivate this visual effect, the system is sharpened to demonstrate battery status, and the developers didn't provide a "quiet charging" option for the interface, but there are proven ways to get around this limitation using hidden features or third-party tools.

In this article, we will look at all the current methods, from simple battery resets to advanced manipulation of system files. It is important to understand that interference with system processes requires care. We will look at safe ways and warn about the risks associated with editing configuration files.

Causes of appearance and impact on the smartphone

Charging animation is part of BatteryStats' system process, which monitors battery status. When you plug in the cable, the power controller sends a signal to the operating system. In response, Android launches the appropriate overlay. On Xiaomi devices, this overlay often covers the entire screen, blocking access to other notifications for a couple of seconds.

In addition to visual noise, the constant on of the screen when the cable contact is unstable can lead to micro-discharges. If the contact in the USB-C connector is broken, the phone can endlessly cycle to connect and disconnect, in which case the animation will flash constantly, which quickly heats the device and consumes energy.

⚠️ Attention: If the charging animation appears on its own without the cable being connected, it is a sign of hardware malfunction, perhaps the charging port has oxidized or the power controller has failed, in which case the software methods will not help - diagnostics are required in the service.

Some users mistakenly believe that turning off animations will speed up the charging process. It's not. The rate of current intake depends on the power supply, the cable, and the battery status. Visual effects only consume minimal GPU resources, but do not affect the fast-charging algorithms.

However, the desire to remove the unnecessary flashing of the screen is justified in terms of comfort, especially if you use the phone as a navigator or music player while charging in the car, the constant pop-up of windows can overlap the cards or the player interface.

πŸ“Š How often do you get annoyed by the charging animation on Xiaomi?
Always, always, always infuriating.
Sometimes when I charge at night
Rarely, usually I don't notice.
I like it, it's a MIUI thing.

Basic settings and reset battery statistics

The safest method, which doesn’t require root or computer access, is to reset the battery statistics, which doesn’t remove the animation completely, but can fix bugs when the screen lights up too brightly or the animation sticks.

To do this, you will need access to the engineering menu. Codes may vary depending on the version of MIUI. Try typing the phone app with the combination ##6485##. If the menu opens, look for the section associated with battery info. However, the hidden code for resetting is more effective.

Type the code ##64663## into the dialer, which will open the engineering test menu, and you have to be very careful. If you press the wrong number, you can start testing equipment that is difficult to interrupt, and we're only interested in resetting the meters.

β˜‘οΈ Checking before resetting statistics

Done: 0 / 4

An alternative way through the developer settings sometimes reduces the brightness of the screen when charging, which makes the animation less noticeable. Go to Settings β†’ Advanced Settings β†’ For developers. Find the item related to the β€œDo not turn off screen” mode or the display settings when charging, and experiment with them.

It is worth noting that on new versions of HyperOS, some engineering codes are not available, and if the codes do not work, this means that the manufacturer has restricted access to these features for system security purposes.

Using ADB to disable system components

A more advanced and efficient way is to use ADB (Android Debug Bridge) debugging, which allows you to temporarily disable the system applications that control the battery interface without removing them from the system, which is safe because it does not change the system partition permanently.

First, you need to activate the developer mode. Go to Settings. β†’ About the phone and quickly press 7 times on the item "Version" MIUI" or "Version." OS". After the message "You became a developer" go to the developer menu and turn on "Debugging by USB".

Connect your smartphone to your computer. You'll need the ADB Platform Tools utility. Open the command line in the utility folder and type a command to check the connection:

adb devices

You'll see a request for debugging permission on your phone screen, confirm it, and then you can start looking for the packets that are responsible for the battery.

adb shell pm list packages | grep battery

On Xiaomi devices, it can be com.miui.batterysaver or com.android.settings (partially).Be careful: disabling com.android.settings can lead to unstable menus.

⚠️ Warning: Never turn off system packages that you are not 100% sure of their intended purpose, which can cause a cyclic bootloop. If the phone stops turning on, press the power button for 15 seconds to force a reboot.

If you find a specific package responsible for the charging overlay (often called BatteryHelper or), it can be disabled by the command:

adb shell pm disable-user --user 0 name.package

To get it back to normal, use the enable command instead of the disable-user, which is a good thing because when you reset your phone or factory reset, all changes will roll back automatically.

Modification of system XML files (requires Root)

For owners of devices with root rights (via Magisk or KernelSU), deep customization is possible, charging animation is written in the system configuration files, and by changing them, you can completely remove the visual effect.

You'll need a file manager with root access, like Root Explorer or MT Manager. Go to /system/product/overlay or /system/etc/sysconfig. Look for files with names that contain battery, charging or power.

Often the settings are stored in a file framework-res.apk Or overlay apk files. But the easiest thing to find is XML-A file that controls the behavior of the screen. It could be a file. config.xml inside one of the overlay folders:

  • config_showBatteryWhenPlugged β€” set the false value.
  • config_screenBrightnessWhenPluggedIn β€” You can set a minimum value.
  • config_chargeAnimationDuration β€” reduce the value to 0.

Once you make the changes, you save the file and reboot the device. If you make a syntax error in XML, the phone may not boot, so always back up the original file before editing.

What if the phone went into a bootloop after editing XML?
If the phone is not turning on, you need to go to Recovery mode (clamp Volume Up + Power). In the Recovery menu, select Wipe Data (this will delete data) or, if you have access to ADB in the recovery, try to restore the original file from the backup. If there is no backup, only flashing through Fastboot will help.

There's also a module for Magisk called "No Charging Animation," or analogues, which makes installing modules easier and safer than manually editing files, since modules can be turned off in the Magisk menu without losing data.

Third-party applications and automation

If you're going through the system files, you can use automated applications like MacroDroid or Tasker, which don't take away the system animation itself, but they can instantly turn off the screen or change the profile when you connect the charger.

Set up a macro: "Trigger: Power is connected" β†’ "Action: Screen off" or "Brightness: 0%." This will create the illusion of no animation, as the screen will go out faster than the charging graphics are rendered.

Another option is to use apps to block notifications, some cleaners are good at blocking system process pop-ups, but on modern versions of Android, this is not stable due to security constraints.

MethodDifficultyEfficiencyRisks.
Engineering menuLow.MediumMinimum
ADB teamMediumTall.Average.
Root + XMLTall.MaximumTall.
Annexes (MacroDroid)Low.PartialNo.

Automation applications require permanent permits to work in the background, which can slightly increase battery consumption in standby mode, which is a kind of trade-off: you change one feature of the system behavior to another.

πŸ’‘

Use a cable without a charging indicator. Some cables have an LED built-in that burns when connected. Replacing a cable with a regular one can reduce visual noise even if the phone screen lights up.

Specifics of working with HyperOS and new versions of MIUI

The HyperOS shell that replaced MIUI brought changes to the architecture of system processes. Many of the old methods that worked on MIUI 12 or 13 were no longer working. HyperOS has enhanced system integrity protection, and access to battery packs is tighter.

Newer versions often have process separations between user and system processes with varying degrees of isolation. ADB They can return the Permission Denial error even if debugging is enabled, and only temporary special permissions through the debugging service help. ADB:

adb shell pm grant com.miui.securitycenter android.permission.WRITE_SECURE_SETTINGS

Even that doesn’t guarantee success, though: Xiaomi developers deliberately make charging animation part of the brand identity, so fighting it gets harder with each update.

If you upgraded to the latest version and the method stopped working, most likely, the packet ID has changed. Use the command adb shell dumpsys window | grep mCurrentFocus at the time of charging to see which application comes to the fore.

⚠️ Note: When updating the firmware, all changes to system files (XML) You'll have to repeat the modification procedure after each one. OTA-update.

Users of custom firmware (LineageOS, Pixel Experience) do not face this problem, since the charging interface is often minimalistic or completely disabled through the theme settings, but switching to a castom is a radical step that requires unlocking the bootloader.

Frequently Asked Questions (FAQ)

Is it safe to disable system components through ADB?
Yes, if you use the disable-user command, it doesn't delete the application, it just hides it for the current user, you can always turn the component back on by enabling or resetting the phone, and the key is not to turn off critical system services like Android or framework.
Will the animation disappear after resetting the settings to the factory?
Yes. Factory Reset returns the phone to its original state. All changes made through ADB (if they weren't fixed), XML edits, and installed Magisk modules (if no backup is made) will be removed. Animation will return.
Does the animation shutdown affect the charging speed?
No. Animation is just a software interface, charging speed depends on the power controller, battery temperature and cable quality, and turning off the graphics will save a tiny amount of power, but it won't affect charging time.
Does this work for POCO and Redmi?
Yes, since POCO and Redmi use the same MIUI/HyperOS shell, packet names may vary slightly, but it is recommended that packet names be checked through ADB for a particular device model.
Can I remove the sound of charging along with the animation?
Charging sound can be turned off by standard means. Go to Settings β†’ Sound and vibration β†’ Additional sounds (or similar path) and disable Charging. This works on all versions of MIUI without root rights.

πŸ’‘

Complete removal of animation is possible only with root rights or through deep system edits, standard means can only minimize its impact or fix bugs through resetting statistics.