AlarmManager заблокирован, когда устройство находится в состоянии ожидания - PullRequest
0 голосов
/ 27 августа 2018

Я прочитал много тем по этому поводу, и никто не помог. поэтому, когда я планирую будильник на более чем 30 минут спустя и кладу телефон куда-то, будильник не срабатывает вовремя, но работает при включении устройства, я обнаружил, что проблема в том, что диспетчер будильника блокируется, когда устройство в простое Я пробовал wakeLock, но безрезультатно

Я использую

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

как сделать так, чтобы будильник работал даже в режиме ожидания

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

этот кусок кода работал нормально:

    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);
        }
0 голосов
/ 27 августа 2018

Попробуйте использовать setExactAndAllowWhileIdle как alarmManger.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,time,pi).

А также убедитесь, что для вашего приложения отключена настройка отключения батареи, чтобы пользовательское ПЗУ Android для устройств не убивало фоновые службы для экономии заряда батареи.

...