Ich erstelle eine Anwendung, wo Sie die Möglichkeit haben, tägliche Benachrichtigungen zu einer anpassbaren Zeit einzustellen. Wenn Sie einen Schalter betätigen, wird ein Zeitauswahldialog angezeigt. Wenn Sie eine Zeit auswählen, wird ein AlarmManager eingerichtet, der jedoch nur einmal - zur richtigen Zeit, aber nur einmal - ausgelöst wird.Android AlarmManager feuert nur einmal
Ich habe StackOverflow gegraben, kann aber nichts Nützliches finden. Hier ist der relevante Teil meines Codes (Sie den Rest here finden):
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);
Versuchen Sie dies: 'mAlarmManager.setRepeating (AlarmManager.ELAPSED_REALTIME_WAKEUP, ...);' – AnixPasBesoin
Danke, ich werde es so bald wie möglich versuchen. –