2014-05-23 22 views

Antwort

11

NotificationManager gibt Ihnen keine Möglichkeit, vorhandene Benachrichtigungen nach ID zu suchen. Wenn Sie eine Benachrichtigung aktualisieren möchten, geben Sie eine neue Benachrichtigung ein, verwenden Sie jedoch dieselbe ID. Es wird es entweder als neu anzeigen oder die vorhandene Benachrichtigung mit dieser ID aktualisieren.

+0

Dies wird die alte Benachrichtigung ersetzen? –

+1

Direkt aus der Dokumentation: "Wenn eine Benachrichtigung mit derselben ID bereits von Ihrer Anwendung gepostet wurde und noch nicht storniert wurde, wird sie durch die aktualisierte Information ersetzt." https://developer.android.com/reference/android/app/NotificationManager.html#notify(int,%20android.app.Notification) – Karakuri

+4

Dank Karakuri, löste ich mein Problem mit sharedpreferences ich Daten darin speichern und ich verwende auf aktualisieren. –

0

Sie können eine aktive Benachrichtigungsliste vom NotificationManager abrufen.

public boolean isNotificationActive(int notificationId) { 
    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    StatusBarNotification[] barNotifications = notificationManager.getActiveNotifications(); 
    for(StatusBarNotification notification: barNotifications) { 
     if (notification.getId() == notificationId) { 
      return true; 
     } 
    } 
    return false; 
} 
+1

erfordert API 23 und höher – SolidSnake