I'm using Google FCM to deliver notifications to my app. I am currently sending data notifications and having my android app construct the push notification. I want the user to be able to click on the notification and have it route them to the appropriate fragment/activity.
It is working great except for one flow. User terminates app -> Receives notification -> Clicks notification -> App launches and data passed correctly to the splash activity from the notification (I'm using a notification activity to broadcast/start intents) -> User receives another notification while app is open -> User clicks notification -> Notification activity, which just previously launched correctly, does not launch.
I'm scratching my head trying to figure out why this could be. My guess is something to do with the contexts being wrong since the app is being launched from the notification, but I've tried to use both "this" and "getApplicationContext()" and neither fixed the issue.
Below is how I construct the notification and pending intent.
Intent notificationIntent = new Intent(this, NotificationActivity.class);
notificationIntent.putExtra(Variables.INTENT_NOTIFICATION_DATA, "dummy_data");
notificationIntent.setAction(Variables.NOTIFICATION_CLICK);
PendingIntent contentIntent = PendingIntent.getActivity(this,
0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Notification notification = new NotificationCompat.Builder(this, Variables.CHANNEL)
.setContentTitle("New Notification")
.setContentText("Dummy text")
.setSmallIcon(R.drawable.notification_icon)
.setContentIntent(contentIntent)
.setAutoCancel(true)
.setOngoing(false)
.build();
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (mNotificationManager != null) {
mNotificationManager.notify(0, notification);
}