AlarmManager永不熄灭

时间:2018-12-06 13:12:15

标签: android android-service alarmmanager

我有一个扩展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中的时间及其所有正确的数据。

0 个答案:

没有答案