Notification/Alarm Time ändern

  • 2 Antworten
  • Letztes Antwortdatum
S

SpecialFighter108

App-Anbieter (In-App)
4
Guten Morgen zusammen,

da mir gestern so gut geholfen wurde, würde ich gerne eine weitere Frage stellen.
Dieses bezieht sich unter anderen auf meine Frage von gestern:
Lösche einen bestimmten Alarm / bestimmte Notification

Habe es jetzt hinbekommen, eine Notification via Alarm Manger zu erstellen und auch zu canceln.
Jetzt stehe ich vor der Hürde, die Alarmzeit (Zeitpunkt an der die Notification erscheinen soll) von mehreren Notifications zu ändern.

Beispiel:
Ich habe aktuell 10 Notifications / Alarm, welche alle an einem Tag zur gleichen Zeit erscheinen.
Jetzt möchte ich diese Zeit aber z.B. um 2 Tage verlängern - Notifications sollen also 2 Tage später erst erscheinen.

Kurz gesagt: Wie kann ich alle bestehenden Alarme vom Zeitpunkt ändern?
Muss ich jeden einzelnen cancel und mit neuer Zeit anlegen lassen oder gibts da was besseres?
 
Ich glaube, du musst alle Löschen und neuerstellen.

Das gleiche habe ich vor ca. 2 Jahren machen müssen. Mit bis zu 70 Notifications :)
 
ne geht wirklich via "update".
habe es so gelöst:

Code:
private void updateNotification(int id) {

        Intent notificationIntent = new Intent(this, NotificationPublisher.class);
        notificationIntent.putExtra("NOTIFICATION_ID", id);

// An dieser Stelle das neu Datum und Uhrzeit festlegen
        Calendar calToday = Calendar.getInstance();
        calToday.set(Calendar.YEAR, 2015);
        calToday.set(Calendar.MONTH, 11);
        calToday.set(Calendar.DATE, 15);
        calToday.set(Calendar.HOUR_OF_DAY, 10);
        calToday.set(Calendar.MINUTE, 27);
        calToday.set(Calendar.SECOND, 0);
        calToday.set(Calendar.MILLISECOND, 0);
        long now = calToday.getTimeInMillis() - System.currentTimeMillis();
        int Delay = (int) now;


  

        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarmManager.set(
                AlarmManager.RTC_WAKEUP,
                System.currentTimeMillis() + Delay,
                PendingIntent.getBroadcast(this, id, notificationIntent, PendingIntent.FLAG_ONE_SHOT));
    }
 

Ähnliche Themen

AnnaBauer21
Antworten
0
Aufrufe
486
AnnaBauer21
AnnaBauer21
Zurück
Oben Unten