MiUI AlarmManager 延迟


最近帮朋友做个闹钟的应用, 自己用的小米手机, 随手拿来测试, 发现每次闹钟都会有5分钟以内的随机的延迟, 折腾了好久才发现是 MIUI 对 Android 本身的AlarmManager做了限制, 为了省电, 每5分钟做一次检查.


 java


 AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        Log.d("AlarmModel", "alarm will wakeup in seconds: " + getAlarmTime().getTimeInMillis());
        alarmManager.set(AlarmManager.RTC_WAKEUP, getAlarmTime().getTimeInMillis(), pendingIntent);

但是用的正点闹钟之类的第三方APP, 完全都是准时响铃的, 所以很好奇他们的解决方案, 求解答

Android 小米

第十七喵喵 10 years ago

小米在 Google官方 之前引入了 “对齐唤醒” 机制,以下是可能的解决办法(Google搜索结果,并未测试)

链接描述

对于小米这种看似有利用户,实则破坏 Android 生态的行为,个人表示抵制

十六夜七夜 answered 10 years ago

正点闹钟会默认添加到自启动列表,因此可以正常唤醒。

冬瓜烂在春风里 answered 10 years ago

Your Answer