You install WhoCalls on your Xiaomi, Redmi or POCO, but the app doesn't detect incoming calls, doesn't show subscriber names, or doesn't start at all? This problem is familiar to thousands of users -- and it's not accidental. It's about the features of MIUI firmware, which actively blocks the background work of third-party applications, including numbering services.
In this article, we will not just list the possible causes, but give step-by-step instructions based on MIUI 12/13/14 and HyperOS versions, talk about hidden energy saving settings that interfere with WhoCalls, and offer proven alternatives. And also explain why even after all the manipulations, the application can work unstable on some models (for example, Xiaomi 13 Pro or Redmi Note 12).
1.Why WhoCalls doesn't identify Xiaomi numbers: Top reasons
The problem lies not in the application itself, but in MIUIβs energy saving policy.
- π Use constant internet access (WhoCalls checks numbers in the cloud database).
- π Work with telephone functions (detection of incoming calls).
- π Update the data in real time (synchronization of the database of numbers).
MIUI 14 and HyperOS also introduce new restrictions on Call Log and Phone apps, and even if you have given all permissions manually, the system can block WhoCalls through:
- π‘οΈ Privacy Protection (Settings Settings) β Confidentiality β Special access).
- β‘ Automatic optimization (Settings menu) β Battery β Optimizing the battery).
- π Restrictions for βnon-systemβ applications (especially relevant for models with Global applications) ROM).
Another caveat: WhoCalls may conflict with MIUIβs built-in Numbers Definition service (which runs through Mi Cloud), and if both services are active, they interfere with each other.
2.How to set up WhoCalls on Xiaomi: step-by-step instructions
Before you delete the app, do these steps. They work on MIUI 12-14 and HyperOS (for older versions, see the section on outdated firmware).
Step 1: Permissions for the application
Open Settings β Applications β Application Management β WhoCalls and enable:
- π± All permissions (especially Phone, Contacts, Call Log).
- π Autorun (Battery tab in the application settings).
- π Background activity (Background Restrictions section).
Step 2: Exclusion from battery optimization
Go to Settings. β Battery β Battery Optimization, find WhoCalls in the list and select Unlimited. If the app isn't in the list, click β― β Show all applications.
Step 3: Set up special access
In Settings β Privacy β Special access check:
- π Overlays of other applications (allow for WhoCalls).
- π Change of system settings (necessary to display notifications).
- π Access to the call log (required!).
All permissions are given in the application settings |
WhoCalls excluded from battery optimization|
Autostart and background activity enabled |
The built-in MIUI | number detector is disabled
Reboot the phone after settings-->
After all the manipulations, restart the phone or the changes may not apply.
3. Conflict with the built-in MIUI number determinant
MIUI has its own numbering service, which runs through the Mi Cloud, and it can block WhoCalls because it decides that it's enough to have one service to disable the built-in identifier.
- Open Settings β Applications β Application Management.
- Press. β― β Showing System Processes.
- Find com.android.incallui or MiuiCallUI.
- Turn off the number definition permission (if any).
On some firmware (for example, MIUI 14 for Redmi Note 12), this item may not be available.
- Go to Settings β Applications β Phone β Storage.
- Click Clear Data and Clear Cache.
- Reset the device.
What to do if there is no "numbers definition" item?
4. ADB-The Compulsory Work Authorization Team for WhoCalls
If standard settings don't work, you can manually give WhoCalls maximum rights through ADB (Android Debug Bridge), which works on MIUI 12-14 and HyperOS, but requires a PC connection.
Instructions:
- Turn on Developer Mode (7 times click on the MIUI version in Settings β About Phone).
- Activate Debugging by USB in Settings β Additional β For developers.
- Connect your phone to your PC and execute the commands:
adb shell dumpsys deviceidle whitelist +com.whocalls.app
adb shell cmd appops set com.whocalls.app android:read_call_log allow
adb shell cmd appops set com.whocalls.app android:write_call_log allow
adb shell cmd appops set com.whocalls.app android:process_outgoing_calls allowAfter you execute the commands, restart your phone. If ADB issues a device unauthorized error, confirm the debugging on your smartphone screen.
π‘
If you don't have a PC, you can use Android terminal apps like Terminal Emulator. The commands are the same, but add su before them (you need root).
5. WhoCalls Alternatives for Xiaomi: What Works Stabilly
If WhoCalls never worked, consider these apps, which are better adapted to MIUI and are less likely to be blocked by the system:
| Annex | Advantages | Deficiencies | Compatibility with MIUI |
|---|---|---|---|
| GetContact | Large number database, works without SMS | Registration is required, sometimes blocked | ββββ (fine) |
| Truecaller | Global base, integration with messengers | Lots of advertising, collects data | βββ (middle-of-the-road) |
| NumBuster | Easy, without registration, Russian-language base | Less defines numbers | βββββ (fine) |
| CallApp | Call recording + determinant | Paid features heavy for weak devices | βββ (middle-of-the-road) |
NumBuster delivers better results on Xiaomi thanks to minimal background requirements and no conflicts with MIUI. If privacy is important to you, look for Call Blocker (no cloud base, but with manual numbering).
6. Frequent mistakes and how to avoid them
Even after you set up the right WhoCalls may not work properly, and here are some common user errors:
β οΈ If WhoCalls stopped identifying numbers after the update MIUI, Reset the application settings (Settings) β Annexes β WhoCalls β Warehouse β Clear the data) and reset from scratch. Updates often reset permissions.
- π Even if WhoCalls are exempt, the general Power Saving or Super Saving mode can block it. β Battery.
- π΅ WhoCalls checks the numbers online - if there is no network at the time of the call (for example, on the subway), the determination will not work.
- π An outdated version of the app. MIUI 14 and HyperOS older versions of WhoCalls (until 2023) may not work.Update app on Google Play.
- π± Conflict with other determinants. If you have Truecaller, GetContact and WhoCalls installed at the same time, they'll interfere with each other.
Another common problem is, WhoCalls detects numbers, but it doesn't show notifications.
- Open Settings β Notifications β WhoCalls.
- Enable Display Notifications and Importance: High.
- In the Notification Categories section, activate Incoming Calls.
7. WhoCalls on older versions of MIUI (up to 12th)
If you have a smartphone on MIUI 10β11 (like the Redmi Note 8 or Xiaomi Mi 9), the WhoCalls setting has nuances:
- π§ These versions don't have a Special Access section. Instead, give WhoCalls permission to Change System Settings through Settings. β Permits β Other permits.
- π Battery optimization is configured in Settings β Battery β Select Mode (Select No Limits for WhoCalls).
- π Built-in number detector is disabled through Settings β System applications β Phone. β Definition of numbers.
On MIUI 9 and below, WhoCalls may not work at all due to outdated APIs.
- Update the firmware to MIUI 12+ (if possible).
- Use NumBuster β it is less demanding on the Android version.
- Install custom firmware (e.g. Pixel Experience) if you are an experienced user.
π‘
On Xiaomi with older firmware (before MIUI 12), WhoCalls will run unstablely or won't launch at all.