Android AlarmManager 只触发一次

Android AlarmManager fires only once

我正在创建一个应用程序,您可以在其中选择在自定义时间设置每日通知。你轻按一个开关,一个时间选择器对话框出现,如果你选择一个时间,一个 AlarmManager 被设置,但它只触发一次——在正确的时间,但只触发一次。

我已经搜索过 Whosebug,但似乎找不到任何有用的东西。 这是我代码的相关部分(您可以找到其余部分 here):

mAlarmManager = (AlarmManager) SettingsActivity.this.getSystemService(ALARM_SERVICE);
Intent intent = new Intent(SettingsActivity.this, AlarmReceiver.class);
PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(SettingsActivity.this,
                0, intent, PendingIntent.FLAG_CANCEL_CURRENT);

Calendar calendar = getTimeForNotification();
if(shouldHaveAlreadyNotified(calendar)){
    calendar.add(Calendar.DATE, 1);
    }
mAlarmManager.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(),
        24 * 60 * 60 * 1000, alarmPendingIntent);

将其更改为 AlarmManager.ELAPSED_REALTIME_WAK‌​EUP 使其完全不发出任何通知。将其更改为 AlarmManager.RTC_WAKEUP 解决了问题!

感谢任何提出解决方案的人。