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, 11 months ago

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

链接描述

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

十六夜七夜 answered 10 years, 11 months ago

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

冬瓜烂在春风里 answered 10 years, 11 months ago

Your Answer