从Firebase中删除过期的通知

时间:2016-07-30 12:15:03

标签: android firebase firebase-cloud-messaging firebase-notifications

我的应用程序使用Firebase通知。如果Firebase使用相同的id生成两个通知,则会在状态栏中显示这两个通知,但我希望删除较旧的通知。

我的代码:

  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());
}

1 个答案:

答案 0 :(得分:2)

如果您知道要删除的通知ID,请使用

    notificationManager.cancel(id);

如果你没有使用

        notificationManager.cancelAll();