Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
571 views
in Technique[技术] by (71.8m points)

android - How to stop new push notification being replaced by the old one in Firebase?

When I trigger a push notification then the old one is replaced by new one. But I want it should add to that old notification.

My MyFirebaseMessaging class is:

public class MyFirebaseMessaging  extends FirebaseMessagingService {
    String title="";
    String message,type,click_action;
    int no_of_messages;

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        if(remoteMessage.getData().size()>0) {
            message = remoteMessage.getData().get("body");
            title = remoteMessage.getData().get("title");
            click_action = remoteMessage.getData().get("click_action");
            no_of_messages++;
            ShowNotification(message);
        }
        else
            Log.i("remoteMessage",message);
    }

    private void ShowNotification(String message) {
        Intent intent = new Intent(click_action);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra("loading_flag","load");
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
        Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";
        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            @SuppressLint("WrongConstant")
            NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_MAX);

            // Configure the notification channel.
            notificationChannel.setDescription("Channel description");
            notificationChannel.enableLights(true);
            notificationChannel.setLightColor(Color.RED);
            notificationChannel.setVibrationPattern(new long[]{0, 1000, 500, 1000});
            notificationChannel.enableVibration(true);
            notificationManager.createNotificationChannel(notificationChannel);
        }

        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this,NOTIFICATION_CHANNEL_ID);
        // if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        //   notificationBuilder.setSmallIcon(R.drawable.vadodaramunicipalcorporation);
        //  notificationBuilder.setColor(getResources().getColor(R.color.backgroundColor));
        //  } else {
        //     setSmallIcon(R.drawable.vadodaramunicipalcorporation)
        //  }
        notificationBuilder.setSmallIcon(R.mipmap.vadodaramunicipalcorporation)
            .setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), R.mipmap.vadodaramunicipalcorporation))
            .setContentTitle("You have new "+ title)
            .setDefaults(Notification.DEFAULT_ALL)
            .setWhen(System.currentTimeMillis())
            .setTicker("Hearty365")
            .setContentInfo("Info")
            .setContentText(message+" new Alerts")
            .setNumber(no_of_messages)
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setStyle(new NotificationCompat.BigTextStyle())
            .setContentIntent(pendingIntent)
            .setPriority(Notification.PRIORITY_MAX);
        notificationManager.notify(0, notificationBuilder.build());
    }
}


{
    "to":"token-key",
    "data" : {
         "body" : "4",
          "title" : "Alert",
          "click_action" : "Activity.DATA_CLICK"
    }
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...