设备处于空闲状态时,AlarmManager被阻止

时间:2018-08-27 09:40:38

标签: android alarmmanager

我阅读了许多与此相关的主题,没有人提供帮助。 因此,当我将警报安排了30分钟以上,并且将手机放在某个地方时,警报无法按时工作,但是当我打开设备电源时,它仍然可以工作,我发现问题是当设备处于关闭状态时,警报管理器被阻止了闲着 我尝试了一个akeLock,但没有任何结果

我正在使用

alarmManger.setExact(AlarmManager.RTC_WAKEUP,time,pi) 

即使在闲置状态下,我如何使警报正常工作

2 个答案:

答案 0 :(得分:0)

尝试使用setExactAndAllowWhileIdlealarmManger.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);
        }