AlarmManager никогда не выключается - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть класс обслуживания, расширяющий IntentService, у меня проблемы с получением AlarmManager на работу.Внутри onCreate() я установил будильник следующим образом:

    private void setCleanupWakeAlarm(long interval) {

    Log.d(TAG, String.valueOf(System.currentTimeMillis()));
    Log.d(TAG, String.valueOf(System.currentTimeMillis() + interval));

    Long time = System.currentTimeMillis() + interval;
    AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    PendingIntent pending=  PendingIntent.getService(LoggerService.this, 0, new Intent(ACTION_FLUSH), 0);



    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        // Wakes up the device in Doze Mode
        am.setExactAndAllowWhileIdle(AlarmManager.RTC, time, pending);
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // Wakes up the device in Idle Mode
        am.setExact(AlarmManager.RTC, time, pending);
    } else {
        // Old APIs
        am.set(AlarmManager.RTC, time, pending);
    }
}

Протестировал его на всех API в заданном диапазоне - ничего не работает.Я проверил время в mils с помощью отладчика и все правильно.

...