So löschen Sie eine Benachrichtigung in Android



Answers

Von: http://developer.android.com/guide/topics/ui/notifiers/notifications.html

Um die Statusleistenbenachrichtigung zu löschen, wenn der Benutzer sie aus dem Fenster Benachrichtigungen auswählt, fügen Sie Ihrem Benachrichtigungsobjekt den Flag "FLAG_AUTO_CANCEL" hinzu. Sie können es auch manuell mit cancel (int) löschen, indem Sie ihm die Benachrichtigungs-ID übergeben oder alle Ihre Benachrichtigungen mit cancelAll () löschen.

Aber Donal hat Recht, Sie können nur Benachrichtigungen löschen, die Sie erstellt haben.

Question

Ist es möglich, eine Benachrichtigung programmatisch zu löschen?

Ich habe es mit dem NotificationManager versucht, aber es funktioniert nicht. Kann ich es anders machen?




Wenn Sie NotificationCompat.Builder (ein Teil von android.support.v4 ) verwenden, rufen Sie einfach die Methode setAutoCancel seines Objekts auf

NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setAutoCancel(true);

Einige Leute berichteten, dass setAutoCancel() nicht für sie funktionierte, also könnt ihr es auch versuchen

builder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;

Beachten Sie, dass die Methode getNotification() veraltet ist !!!




    // Get a notification builder that's compatible with platform versions
    // >= 4
    NotificationCompat.Builder builder = new NotificationCompat.Builder(
            this);
    builder.setSound(soundUri);
    builder.setAutoCancel(true);

Dies funktioniert, wenn Sie einen Benachrichtigungs-Generator verwenden ...







Bitte versuchen Sie die Standardmethode im NotificationManager .

NotificationManager.cancelAll() , um alle Benachrichtigungen zu entfernen. NotificationManager.cancel(notificationId) , um bestimmte Benachrichtigungen zu entfernen.




Related