我阅读了许多与此相关的主题,没有人提供帮助。 因此,当我将警报安排了30分钟以上,并且将手机放在某个地方时,警报无法按时工作,但是当我打开设备电源时,它仍然可以工作,我发现问题是当设备处于关闭状态时,警报管理器被阻止了闲着 我尝试了一个akeLock,但没有任何结果
我正在使用
alarmManger.setExact(AlarmManager.RTC_WAKEUP,time,pi)
即使在闲置状态下,我如何使警报正常工作
答案 0 :(得分:0)
尝试使用setExactAndAllowWhileIdle
像alarmManger.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,time,pi)
一样。
还要检查您的应用的电池otpimisation设置是否已关闭,以便设备的android自定义ROM不会杀死后台服务以节省电池。
答案 1 :(得分:0)
这段代码运行良好:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,time,pi);}
else {
alarmManager.setExact(AlarmManager.RTC_WAKEUP,time,pi);}
}else {
alarmManager.set(AlarmManager.RTC_WAKEUP,time,pi);
}