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, 完全都是准时响铃的, 所以很好奇他们的解决方案, 求解答
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
正点闹钟会默认添加到自启动列表,因此可以正常唤醒。
小米在 Google官方 之前引入了 “对齐唤醒” 机制,以下是可能的解决办法(Google搜索结果,并未测试)
链接描述
对于小米这种看似有利用户,实则破坏 Android 生态的行为,个人表示抵制
灰常反感小米这种对API的大改,只会增加开发难度,破坏平台统一性
你调用setExact()试一下应该是可以做到准时的
正点闹钟在13年的时候也遇到过这种问题,后来是和miui团队沟通后解决的,(应该是后台给了api的源码),好不爽!