我正在创建一个应用程序,您可以选择在可自定义的时间设置每日通知。您点击一个开关,出现一个时间选择器对话框,如果您选择了一个时间,则会设置一个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);
答案 0 :(得分:0)
将其更改为AlarmManager.ELAPSED_REALTIME_WAKEUP
,表示根本没有发出任何通知。将其更改为AlarmManager.RTC_WAKEUP
可解决此问题!
感谢所有提出解决方案的人。