Ich habe eine Anwendung erstellt und mit einem Ereignis kann ich eine Benachrichtigung in der Android-Benachrichtigungsleiste hinzufügen. Jetzt brauche ich ein Beispiel, wie man diese Benachrichtigung aus der Benachrichtigungsleiste eines Ereignisses entfernt?
android
notifications
Nezir
quelle
quelle
Antworten:
Das ist ganz einfach. Sie müssen
cancel
odercancelAll
auf Ihrem NotificationManager anrufen . Der Parameter der Abbruchmethode ist die ID der Benachrichtigung, die abgebrochen werden soll.Siehe die API: http://developer.android.com/reference/android/app/NotificationManager.html#cancel(int)
quelle
Sie können diesen Schnellcode ausprobieren
quelle
Sie können auch
cancelAll
den Benachrichtigungsmanager anrufen , sodass Sie sich nicht einmal um die Benachrichtigungs-IDs kümmern müssen.BEARBEITEN: Ich wurde abgelehnt, daher sollte ich möglicherweise angeben, dass dadurch nur die Benachrichtigung aus Ihrer Anwendung entfernt wird.
quelle
startForeground(NOTIFICATION_ID, mNotification);
Setzen Sie einfach setAutoCancel (True) wie folgt:
quelle
das wird helfen:
Dadurch sollten alle von der App vorgenommenen Benachrichtigungen entfernt werden
und wenn Sie eine Benachrichtigung durch Anrufen erstellen
In einem Service müssen Sie möglicherweise anrufen
Zuerst die Benachrichtigung abbrechen.
quelle
Wenn Sie eine Benachrichtigung von einem Dienst generieren , der im Vordergrund mit gestartet wird
Dann ausstellen
funktioniert nicht Abbrechen Die Benachrichtigung und Benachrichtigung wird weiterhin in der Statusleiste angezeigt. In diesem speziellen Fall lösen Sie diese auf zwei Arten:
1> Verwenden von stopForeground (false) im Service:
2> Zerstören Sie diese Serviceklasse mit aufrufender Aktivität:
Zweiter Weg bevorzugen in Musik-Player-Benachrichtigung mehr, weil auf diese Weise nicht nur Benachrichtigung entfernen, sondern auch Player entfernen ... !!
quelle
stopForeground(true); manager.cancelAll();
ist das, was es für mich gelöst hat!Bitte versuchen Sie dies,
quelle
Verwenden Sie den NotificationManager, um Ihre Benachrichtigung abzubrechen. Sie müssen nur Ihre Benachrichtigungs-ID angeben
mNotificationManager.cancel (YOUR_NOTIFICATION_ID);
Überprüfen Sie auch diesen Link. Siehe Entwicklerlink
quelle
NotificationManager.cancel(id)
ist die richtige Antwort. Sie können Benachrichtigungen in Android Oreo und späteren Versionen entfernen, indem Sie den gesamten Benachrichtigungskanal löschen. Dies sollte alle Nachrichten im gelöschten Kanal löschen.Hier ist das Beispiel aus der Android-Dokumentation :
quelle
Unter Android API> = 23 können Sie Folgendes tun, um eine Gruppe von Benachrichtigungen zu entfernen.
quelle
Rufen Sie einfach die ID an:
quelle