0

Meine Anwendung verwendet Firebase-Benachrichtigungen. Wenn Firebase zwei Benachrichtigungen mit derselben id generiert, zeige ich beide in meiner Statusleiste an, aber ich möchte die ältere Benachrichtigung entfernt werden.Entfernen abgelaufener Benachrichtigungen von Firebase

Mein Code:

private void sendNotification(String messageBody) { 
    Intent intent = new Intent(this, MainActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, 
      PendingIntent.FLAG_ONE_SHOT); 

    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.mipmap.ic_launcher) 
      .setContentTitle("FCM Message") 
      .setContentText(messageBody) 
      .setAutoCancel(true) 
      .setSound(defaultSoundUri) 
      .setContentIntent(pendingIntent); 
    NotificationManager notificationManager = 
      (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    notificationManager.cancel(119); 

    notificationManager.notify(119 /* ID of notification */, notificationBuilder.build()); 
} 
+0

Sie suchen verwenden Sie zu Senden Sie eine sogenannte zusammenklappbare Nachricht, was bedeutet, dass jede neue Nachricht mit dem gleichen Schlüssel die vorherige Nachricht mit diesem Schlüssel ersetzt. Https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages –

+0

, wenn Sie dieselbe ID für jede Benachrichtigung verwenden. als vorherige Benachrichtigung sollte durch neue ersetzt werden. –

+0

wie bitte collapse_key parameter hinzufügen? –

Antwort

2

Wenn Sie die Mitteilung IDs zu entfernen wissen, benutzen Sie einfach

notificationManager.cancel(id); 

Wenn Sie nicht dann

 notificationManager.cancelAll(); 
+0

funktioniert nicht von mir, ich versuche es .. –

+0

Welche ID Firebase setzt Benachrichtigung? – Lester

Verwandte Themen