Android AlarmManager仅触发一次

时间:2017-02-23 15:51:36

标签: android alarmmanager

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

我通过StackOverflow挖掘但似乎找不到任何有用的东西。 这是我的代码的相关部分(您可以找到其余的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);

1 个答案:

答案 0 :(得分:0)

将其更改为AlarmManager.ELAPSED_REALTIME_WAK‌​EUP,表示根本没有发出任何通知。将其更改为AlarmManager.RTC_WAKEUP可解决此问题!

感谢所有提出解决方案的人。