Skip to content

Blog

Samsung, Xiaomi and Oppo: why the alarm never rang

Your alarm was set. The clock app on the shelf would have screamed. The one you installed last Tuesday did not. You wake at 8:17 with that particular nausea of a missed train, and the lock screen looks innocent, as if 6:30 never happened.

This is the most common complaint we hear from Android heavy sleepers, and it is almost never a broken timer. Samsung, Xiaomi, Oppo, Vivo and Huawei ship skins that treat background work as a battery crime. Google's own Clock gets a special pass. Your new alarm app does not, unless you walk it through a small gauntlet of toggles the night before you actually need it.

What the phone is doing while you sleep

Android has a power-saving mode called Doze. After the screen has been off for a while, the system batches network jobs and delays ordinary alarms so the battery lasts longer. Exact alarms are the exception: they are supposed to fire at a wall-clock minute even when the chip is napping. Google documented this in the AlarmManager guide. The catch is the word "supposed."

From Android 12 onward you have to grant an app a special access called Alarms and reminders, which maps to the SCHEDULE_EXACT_ALARM permission. If that access is off, the call to set an exact alarm can fail quietly. On Android 14 some makers go further and revoke it later when their battery manager decides the app has been idle. The toggle in Settings still looks granted. The morning simply never comes.

OEM skins pile extra policy on top. One UI (Samsung), HyperOS (Xiaomi), ColorOS (Oppo) and EMUI (Huawei) each keep a private list of apps allowed to run in the background. If Coop is missing from that list, the OS can freeze the process after you swipe it away. A frozen process cannot crow.

Samsung (One UI)

Start with volume, because it fools people. Samsung splits media, ringtone and alarm into three sliders. You can blast a podcast and still have the alarm channel sitting at zero. Open Settings, then Sounds and vibration, then Volume, and push the alarm slider up. Test with a one-minute alarm while you are standing there.

Do Not Disturb on a Galaxy usually lets alarms through. People turn that exception off without noticing. In Sounds and vibration, open Do Not Disturb and confirm alarms are allowed.

Battery is the real trap. Open Settings, Apps, Coop, Battery, and set it to Unrestricted. Then open Device care, Battery, Background usage limits, and make sure Coop is not sitting in Sleeping apps or Never sleeping apps by accident in the wrong bucket. If it is sleeping, wake it. Samsung's "adaptive battery" will otherwise decide a rooster you only hear at dawn is unused software.

Lock the app in Recents if your One UI version still offers that. It is a small insurance policy against the swipe-away freeze.

Xiaomi, Redmi, Poco (MIUI / HyperOS)

Xiaomi is famous among alarm developers. Autostart is off by default for almost everything. Open Settings, Apps, Coop (or Manage apps), and turn Autostart on. Then set Battery saver to No restrictions.

Keep Coop in the Recents tray and lock it there if the UI still shows a padlock on the card. Some HyperOS builds also hide a second battery page under Settings, Battery, App battery saver. Coop wants no limits.

If you use a second space or dual apps, set the alarm in the same space you sleep with. Sounds obvious until you have two copies of the same icon.

Oppo, OnePlus, Realme (ColorOS / OxygenOS)

ColorOS is aggressive about "optimizing" apps you have not opened since yesterday. Open Settings, Battery, App battery management, pick Coop, and allow background activity. Turn off any auto-optimize or auto-freeze that names third-party apps.

On some OnePlus builds you also need to exclude Coop from deep optimization and from the high-performance / power-saving profiles that silently throttle alarms overnight.

Huawei and Honor

EMUI and MagicOS keep a Protected apps or App launch list. Coop needs manual management: allow auto-launch, secondary launch and background activity. If those three are off, the crow never starts.

The three checks that catch most missed mornings

Do these once, then set a test alarm for two minutes ahead.

  1. Alarm volume is up, and it is the alarm slider, not media.
  2. Alarms and reminders (exact alarms) is allowed for Coop.
  3. Battery is unrestricted, and the maker's extra freeze list does not include Coop.

If a test alarm still fails, set a backup in Google Clock or the Samsung Clock for the same minute. Stock clocks ride a privileged path. We would rather you get up twice than sleep through a job interview. The how it works page says the same thing in shorter form.

What Coop actually asks for

Coop is a local rooster. It does not need an account, which we wrote about in an alarm that stays on your phone. It does need the OS to treat it like a clock. On Android that means exact alarms plus whatever extra door your maker invented. The in-app guide links the Samsung, Xiaomi, Oppo and Huawei screens because those four cause most of the mail.

We use a foreground service while the crow is running, and we reschedule if the process dies. That is still weaker than a privileged system Clock. Anyone selling you a third-party alarm that "just works on every Android" is skipping the paragraph about One UI.

iPhone people hit a different wall: the silent switch and Focus. That is a separate note on AlarmKit.

If you came here from an Alarmy thread, the reliability problem is shared. Mission apps fail the same way when the skin starves them. The difference is how loudly each app tells you. Our Alarmy alternative piece is honest about feature lists. This page is about the unglamorous toggles.

A louder sound will not save you if the process never starts. Once the crow is allowed to start, an alarm that gets louder is the next layer, because habituation to a single beep is a separate failure mode. For a wider map of apps built for heavy sleepers, there is a 2026 roundup.

You can get Coop on the App Store or Google Play. The download page keeps both buttons in one place.

If you already have Coop installed, open the reliability guide in Settings tonight and walk the list for your maker. Two minutes of tapping now is cheaper than a sick day.

References

  1. Android Developers. "Schedule exact alarms." AlarmManager and SCHEDULE_EXACT_ALARM / USE_EXACT_ALARM. https://developer.android.com/develop/background-work/services/alarms
  2. Android Developers. "Optimize for Doze and App Standby." https://developer.android.com/training/monitoring-device-state/doze-standby
  3. Alarmy. "Android Alarm Not Going Off? 5 Settings to Fix It Now." https://alar.my/en/blog/android-alarm-not-going-off
  4. arekore. "How to Fix Android Alarm Not Ringing." Silent mode, battery optimization, and Doze. https://arekore.app/en/tips/android/fix-android-alarm-not-ringing
  5. Wajdan, Ali. "Your Flutter scheduled notifications might be silently dying on Android 14." Medium, on OEM revocation of exact alarms. https://aliwajdan.medium.com/your-flutter-scheduled-notifications-might-be-silently-dying-on-android-14-0305d29072b6

Read next

iPhone silent switch and AlarmKit. An alarm that starts quiet and gets louder. Looking for an Alarmy alternative.