Reputation: 1071
In my application i received push notification from gcm, if i click on that push notification, my application will open and i need to remove my notification from notification bar. But , it is still on notification bar.
I used the following logic for generating push notification in my GCMIntentService class.
mNotificationManager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);
//PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, TipsActivity.class), 0);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, TipsActivity.class),
Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.icon)
.setContentTitle("Appname")
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(msg))
.setContentText(msg);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
So, please guide me how to remove my notification , when i click on it.
Upvotes: 1
Views: 159
Reputation: 3791
as per my guessing it is happening due to flag of notification
may be there is line in your code related to notification flag
may be that flag is FLAG_NO_CLEAR
so change that flag to FLAG_AUTO_CANCEL
you will find this flag in generateNotification logic if you not mentioned the flag then please specify it as FLAG_AUTO_CANCEL
FLAG_NO_CLEAR means
Bit to be bitwise-ored into the flags field that should be set if the notification should not be canceled when the user clicks the Clear all button
and
FLAG_AUTO_CANCEL means
Bit to be bitwise-ored into the flags field that should be set if the notification should be canceled when it is clicked by the user.
here is the sample line
notification.flags |= Notification.FLAG_AUTO_CANCEL;
where notification is object of NotificationManager use this link for refference
hope it will resolve your issue happy coding
Upvotes: 0
Reputation: 633
Hi You have to add the following line>..
mBuilder.setAutoCancel(true);
Try this and let me know the feedback.
Upvotes: 2