2014-05-23 19 views
6

Qualcuno conosce un modo per ottenere una notifica tramite ID? È quello che voglio quando ricevi una nuova notifica se è ancora visibile nella barra di stato di Android vuoi ottenere le informazioni e aggiungerlo a una nuova notifica. Grazie.notificationManager riceve notifica dall'Id

risposta

11

NotificationManager non consente di trovare le notifiche esistenti per ID. Se si desidera aggiornare una notifica, pubblicare una nuova notifica ma utilizzare lo stesso ID. Lo mostrerà come nuovo o aggiornerà la notifica esistente con quell'ID.

+0

Questo sostituirà la vecchia notifica? –

+1

Direttamente dalla documentazione: "Se una notifica con lo stesso ID è già stata pubblicata dalla tua applicazione e non è stata ancora cancellata, sarà sostituita dalle informazioni aggiornate." https://developer.android.com/reference/android/app/NotificationManager.html#notify(int,%20android.app.Notification) – Karakuri

+4

Grazie Karakuri, ho risolto il mio problema usando sharedpreferences. Io memorizzo i dati al suo interno e io uso su aggiornare. –

0

È possibile ottenere l'elenco delle notifiche attive da NotificationManager.

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

richiede API 23 e successive – SolidSnake

Problemi correlati