How to turn on the flashlight when calling Xiaomi Mi 9: 5 working ways

Xiaomi Mi 9 is the flagship of 2019, which is still relevant thanks to the powerful hardware and flexible firmware MIUI. One useful feature that many users want to activate is the automatic flashlight on incoming calls. This is not only convenient in the dark, but also helps to quickly find the phone by light signal. Unfortunately, in the standard settings of the Mi 9, this option is not, but it can be implemented in several ways.

In this article, we will discuss 5 proven methods, from hidden MIUI settings to third-party applications with advanced functionality. You will learn how to set the flashlight to work on any calls (incoming / outgoing), as well as how to avoid common errors that may cause the function to fail. All instructions are adapted for the Xiaomi Mi 9 with the latest firmware versions (including MIUI 14 and HyperOS).

Before you proceed to setup, make sure that on your device:

  • πŸ”‹ Battery charge not less than 15% (lightlight consumes additional energy).
  • πŸ“± Version. MIUI at least 10.3 (on older firmware, some methods do not work).
  • πŸ”¦ The flashlight is serviceable (check its operation through the notification panel).

1. Method: Hidden MIUI settings (without root)

MIUI has a hidden Torch on call feature that can be activated via an engineering menu, which does not require root rights and works on most firmware versions for the Xiaomi Mi 9.

To turn on the flashlight when calling:

  1. Open the phone app and dial the combination: ##6484##
  2. In the Testing menu, select Hardware Testing β†’ Torch.
  3. Activate the Torch on Call option (switch to position) ON).
  4. Save the settings and restart the phone.

Important! Some versions of MIUI (e.g. 12.5 Enhanced) may not have this item, so move on to the next method.

Dial ##6484##|Look for Torch on call|Enable switch |Reboot device

-->

2. Method: Application "Flash on Call" (Flash on Call)

If the hidden settings don’t work, use the third-party Flash On Call app. It’s free, doesn’t require root rights, and has flexible settings for the Xiaomi Mi 9.

Instructions for installation and setting:

  1. Download the app from Google Play.
  2. Launch it and grant permissions to: πŸ“ž Access to calls (Phone). πŸ”¦ Flashlight control (Camera). πŸ› οΈ Auto-start (Auto-start in the settings) MIUI).

Enable Flash on Call

Settings

  • πŸ”„ Incoming calls only (incoming calls only) or All calls (all calls).
  • ⏱️ The duration of the flashlight: Until call ends (until the end of the call) or Custom time (set your value).

Advantages of the method:

  • πŸŽ›οΈ Flexible settings (you can adjust the blinking, the color of the glow on models with RGB-flashlight).
  • πŸ“± It works on all versions. MIUI HyperOS.
  • πŸ”„ Ability to disable the function for specific contacts (blacklist).

Flash On Call|Torchie|Flashlight Alerts|Other|Not using.-->

3. Method: Automation through MacroDroid

For advanced users who want to set up complex scenarios (for example, turning on a flashlight only at night or for certain contacts), MacroDroid is a good application. It allows you to create automatic rules without programming.

Algorithm of settings:

  1. Install MacroDroid from Google Play.
  2. Create a new macro (Add Macro).
  3. Select as a Trigger (Trigger: πŸ“ž Phone β†’ Incoming Call (Incoming Call). πŸ”„ If necessary, add a time limit (Time/Date).
  4. As an action (action) indicate: πŸ”¦ Torch β†’ Turn On (turn on flashlight).
  • πŸ“ž Phone β†’ Call Ended β†’ Torch β†’ Turn Off.

Attention! On some MIUI firmware, this command may reset after the system update, in which case it will have to be run again.

adb shell am broadcast -a com.android.server.TorchService.TOGGLE -e state true

This command simulates clicking on a flashlight in the notification panel, but requires root rights or special permissions.

-->

5. Method: Custom Recovery Firmware (TWRP + Magisk)

For users with an unlocked bootloader and a TWRP installed, there is another way to flash the Magisk module, which adds a flashlight function when calling at the system level.

What will be required:

  • πŸ”“ Unlocked bootloader (bootloader).
  • πŸ“± Established custom recaveri TWRP.
  • πŸ› οΈ Magisk module (e.g. Flashlight on Call).

Instructions:

  1. Download Flashlight on Call (available on XDA Developers)
  2. Reboot to TWRP (hold Power + Vol Up when the phone is off).
  3. Sweak the module through Install β†’ select the downloaded file.
  4. Reboot to the system and check the function.

⚠️ Attention! firmware custom modules can lead to unstable operation of the phone or loss of warranty.Before installing, make a backup through TWRP (Backup β†’ Select the Boot, System, Data sections).

Comparison of methods: which one to choose?

To make it easier for you to determine, we have compiled a table with the pros and cons of each method:

MethodDifficultyNeed root?Works on MIUI 14?Additional functions
Hidden MIUI settings⭐❌ No.βœ… Yeah, not always)Only the basic function
Flash On Call⭐⭐❌ No.βœ… Yes.Blacklist, timer, flashing
MacroDroid⭐⭐⭐❌ No.βœ… Yes.Difficult scenarios, time conditions
ADB-team⭐⭐⭐❌ No.⚠️ Partially.System level, but it can reset
Magisk moduleβ­β­β­β­βœ… Yes.βœ… Yes.Maximum stability, integration into the system

Selection recommendations:

  • πŸ†• If you MIUI 14 or HyperOS – Start with Flash On Call.
  • πŸ”§ For flexible settings (e.g., only at night) – use MacroDroid.
  • πŸ› οΈ If you are an experienced user and are ready for risks, go through the Magisk module.

-->

Frequent problems and their solutions

Even after setting the flashlight correctly, the flashlight may not work when ringing, and let’s look at the typical errors and ways to fix them:

Problem 1: The flashlight does not turn on when the call is incoming.

  • πŸ”Ή Check if the flashlight is manually turned off through the notification panel.
  • πŸ”Ή Make sure the application (Flash On Call or MacroDroid) is given all the necessary permissions.
  • πŸ”Ή Restart your phone – sometimes resetting temporary data helps.

Problem 2: The flashlight turns on but doesn't turn off after the bell.

  • πŸ”Ή In Flash On Call, check the Turn off after setting (should stand Call Ends).
  • πŸ”Ή In MacroDroid, make sure that a second action is created to turn off the flashlight.
  • πŸ”Ή If used ADB-Reset command: adb shell settings put global torch_on_call_enabled 0 Then turn it on again.

Problem 3: The function is unstable (it turns on, then it doesn’t).

  • πŸ”Ή Check if the function is blocked by antivirus or firewall.

⚠️ On some Xiaomi Mi 9 firmware (for example, MIUI EU) The flashlight function when calling can conflict with system optimizations. If none of the methods worked, try resetting your phone to factory settings (Settings) β†’ The phone. β†’ Reset settings), but pre-reverse data.

❓ Can you set up a flashlight for certain contacts only?
Yes, it is possible with the Flash On Call or MacroDroid app. In the first case, add the desired numbers to the Whitelist (whitelist), in the second case, set the trigger for specific contacts in the macro.
❓ Why does the flashlight flash and not burn constantly?
It depends on the application settings. In Flash On Call, go to Settings β†’ Flash Mode and select Solid instead of Blinking. If the flashing is system (for example, when the battery is low), check the energy saving settings.
❓ Will the flashlight work on outgoing calls?
By default, most methods are configured only for incoming calls. To activate the flashlight and when outgoing, in Flash On Call, enable the option Outgoing Calls, and in MacroDroid add the Phone β†’ Outgoing Call trigger.
❓ Can I adjust the color of the flashlight?
The Xiaomi Mi 9 is equipped with a standard white LED, so you can’t change the color. However, on some custom firmware (for example, LineageOS), you can emulate color effects through Magisk modules, but this requires a deep modification of the system.
❓ How to turn off the flashlight when calling if you no longer need it?
How to turn off depends on the method of setting: For Flash On Call: open the application and deactivate the master switch. For MacroDroid: delete or disable the created macro. ADB: Adb shell settings put global settings torch_on_call_enabled 0. For Magisk: Remove the module through Magisk Manager.