Multiple notification click launching a same activity android
android, android-pendingintent, google-cloud-messaging
Solution
Solution was just adding a new ID for `PendingIntent` reference
private void sendNotificationForCancellation(String appointmentId, String title, String message) {
Random generator = new Random();
//AppController.getSharedPreferences().edit().putString(Constants.CALL_CASE_ID, notifObject.getCaseDetails().getCaseID()).commit();
Intent intent = new Intent(this, ActCallRequestsDetail.class);
intent.putExtra("appointment_id", appointmentId);
intent.putExtra("isAppIdAvailable", true);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, generator.nextInt(), intent, PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_stat_note_plus)
.setLargeIcon(BitmapFactory.decodeResource(this.getResources(), R.drawable.app_icon))
.setContentTitle(title)
.setStyle(new NotificationCompat.BigTextStyle().bigText(message))
.setContentText(message)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(generator.nextInt(), notificationBuilder.build());
}
Problem
I have a notification set up : ``` private void sendNotificationForCancellation(String appointmentId, String title, String message) { //AppController.getSharedPreferences().edit().putString(Constants.CALL_CASE_ID, notifObject.getCaseDetails().getCaseID()).commit(); Intent intent = new Intent(this, ActCallRequestsDetail.class); intent.putExtra("appointment_id", appointmentId); intent.putExtra("isAppIdAvailable", true); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_stat_note_plus) .setLargeIcon(BitmapFactory.decodeResource(this.getResources(), R.drawable.app_icon)) .setContentTitle(title) .setStyle(new NotificationCompat.BigTextStyle().bigText(message)) .setContentText(message) .setAutoCancel(true) .setSound(defaultSoundUri) .setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Random generator = new Random(); notificationManager.notify(generator.nextInt(), notificationBuilder.build()); } ``` On click of notification it opens a activity Scenario-1: - It is working fine when I have a single notification. . Scenario-2: - Assume 2 notifications generated from above notification setup first notification click, it is opening the activity Now i am there in the opened activity(`ActCallRequestsDetail.class`) When I click the second notification, nothing happens the activity (`ActCallRequestsDetail.class`) is not refreshed . How to solve the Scenario-2