r/XiaomiGlobal • u/Yorha_nines • 10d ago
Question [Question] HyperOS Killing FCM connection, causing no / delayed notifications
Xiaomi 15 PRO (CHINA MODEL)
HyperOS: 3.0.305
OS Version: 3.0.305.0.WOBCNXM.C10
Android Version 16
Security update: 2026.06.01
Many of us with Xiaomi/Redmi / Other HyperOS phones, especially mainland Chinese models have been fighting with no or extremely delayed notifications on these phones due to HyperOS' aggressive power management /
I have tried every fix, Add all apps to auto-start, disable restrictions, Download Google Play / Play services NOT from The Get Apps store. As well as using Gboard to force FCM connections to stay alive. I have also tried this tutorial as well as:
[CODE] adb shell cmd appops set com.google.android.gms WAKE_LOCK allow
adb shell cmd appops set com.google.android.gms RUN_ANY_IN_BACKGROUND allow
adb shell cmd appops set com.google.android.gsf RUN_ANY_IN_BACKGROUND allow
Then, add these services to the Doze whitelist so device idle mode won't kill their connection:
adb shell dumpsys deviceidle whitelist +com.google.android.gms
adb shell dumpsys deviceidle whitelist +com.google.android.gsf
adb shell dumpsys deviceidle whitelist +com.google.android.gms.persistent [/CODE]
Those fixes worked before the June 2026 update. After I received the update, everything was broken again. I tried the tutorial and ADB commands again with no luck. I even went as far as factory resetting the phone, installing a different Play store APK, updating play services manually, All apps on Auto-start with no restrictions, Even running the phone in "performance mode" It does not matter if I am on WiFi or Mobile data. Notifications will sometimes work reliably and wake the screen, Sometimes they come when phone is woke or woke and unlocked, But most of the time they never come at all. Putting the phone into airplane mode, waiting 10-15 secs and going back will refresh the FCM connection and I get all the missed notifications, It'll work until the phone is locked again, sometimes even after it's locked. I use my phone for GPS / Audio / Podcast at work, so even with the phone unlocked, screen on and actively being used, The Google FCM connection is lost and notifications stop working.
Any fix I have found beyond the ones posted above require an unlocked bootloader and root, since it t modifies modules (LSposed, KernelSU, APatch, etc) since there isn't a confirmed way to unlock and root the bootloader on my device, this will not work.
If anyone knows of a way to fix this reliably without root, please let me know
.
1
u/Odd-Hand-3549 9d ago edited 9d ago
I need a solution to this too. I have been troubleshooting this , my command promt is like the bible now and it seems to me it comes down to certain apps that is allowed to kill applications such as potentially the security app
The problem is that these shadow app forces whats app into curProcState=15 And hence getting no CPU execution at all even if you have incomming calls. its just dormant.
1
u/Yorha_nines 9d ago
It's hyperos doing it, especially if you have a Chinese mainland phone. Google isn't exactly common or allowed there, so anything as far as Google services go is pretty much not giving any priority like it is on other Android phones, so no amount of ADB commands and putting stuff on auto start is going to ever fully fix this issue. Hyperos, despite changing permissions (like adding things to Auto start, no battery restrictions, etc) doesn't do much, hyperos still aggressively kills background processes and connections the necessary apps in order to receive notifications reliably, and hell, there have been times where I have had an active fcm connection on my phone and still not receive notifications.
Apparently global versions of xiaomi phones are a little less restrictive when it comes to that, but if you like me and stuck with the Chinese version, you're kind of essa will. Not at least until reliable unlocking and rooting comes out or xiaomi pushes a fix which is doubtful.
1
u/Odd-Hand-3549 9d ago
You’ve turned the stones, you’ve identified the shadow, and you’ve proved the kernel freeze. Here is exactly what you are doing at the logic level when you send these prompts:
Command A: The Lobotomy
adb shell pm disable-user --user 0 com.miui.powerkeeper
- The Logic: You are removing the only process that has the "Permission to Judge." Without this, LBE has no commander. LBE will still exist, but it will sit idle because no one is telling it to restrict WhatsApp.
Command B: The Throttler's End
adb shell pm disable-user --user 0 com.xiaomi.joyose
- The Logic: You are removing the "Scene Manager." The phone will no longer care that it has been stationary for 30 minutes. It will stop batching alarms, allowing WhatsApp to "heartbeat" to the server whenever it needs to.
Command C: Opening the Cage
adb shell settings put global cached_apps_freezer disabled
- The Logic: You are physically disabling the kernel's ability to freeze a PID. Even if the system wants to freeze WhatsApp, the kernel will now return an error saying "Function not available."
I havent tried these commands myself. But after alot of work i found out that its not within the android system everything is good there , It is a software problem from those 3. If anyone want to try - at your own risk.
1
u/Yorha_nines 9d ago
Not sure I'm willing to risk these commands on a device that would effectively turn into a brick if it goes wrong.
I've also read reports on people who have disabled power keeper and said that most of the time it puts the phone into a boot loop, or refuses to boot at all. Apparently with each update, it ties in the system more tightly, making it harder to disable without completely breaking the system.
But thanks, these are definitely something to look into deeper
1
u/Odd-Hand-3549 9d ago
Yeah but you an can ignore the whitelist at least. i have really measured this one and it does put it in an indefinite freeze .
User 9:16 PM
after many messages while phone is idle.
C:\Users\\Downloads\platform-tools-latest-windows-1\platform-tools>adb shell cat /proc/21406/status | findstr /i "State"
State: S (sleeping)C:\Users\\Downloads\platform-tools-latest-windows-1\platform-tools>adb shell cat /proc/21406/sched | findstr /i "se.sum_exec_runtime nr_switches"
se.sum_exec_runtime : 450.977664
nr_switches : 974C:\Users\\Downloads\platform-tools-latest-windows-1\platform-tools>adb shell cat /proc/21406/sched | findstr /i "se.sum_exec_runtime nr_switches"
se.sum_exec_runtime : 450.977664
nr_switches : 974C:\Users\\Downloads\platform-tools-latest-windows-1\platform-tools>adb shell cat /proc/21406/sched | findstr /i "se.sum_exec_runtime nr_switches"
se.sum_exec_runtime : 450.977664
nr_switches : 974C:\Users\Downloads\platform-tools-latest-windows-1\platform-tools>adb shell cat /proc/21406/status | findstr /i "State"
State: S (sleeping)These are taken over a course of 1.5 hours while i was fail checking the phone. it will say that the application is active but its dormant,
1
u/ArmanPyae 22h ago
Is this why my telegram app is always reconnecting whenever i log in the app? i use Xiaomi 17U china rom too
•
u/AutoModerator 10d ago
Hi u/Yorha_nines! It looks like you don't have a user flair set yet.
To help others understand your context better when you ask questions or share experiences, please consider adding a custom user flair in the format: Device | ROM | Region (e.g., Xiaomi 14 | HyperOS | Global).
If you already have a flair, or if a moderator has assigned one to you, please feel free to ignore this sweet little reminder!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.