Remove notification after clicking
AndroidEclipseNotificationsAndroid Problem Overview
I want that the notification will be closed after the user is clicking on it. I saw that everybody saying to use flags, but I can't find the flags anywhere because I'm using NotificationCompat.Builder class and not Notification class. Someone have any idea how to make the notification remove by her self?
Here is my code when I'm setting the notification:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("New Question")
.setContentText("" + QuestionData.getAuthor().getUserName() + ": " + QuestionData.getQuestion() + "");
Intent openHomePageActivity = new Intent("com.example.ihelp.HOMEPAGEACTIVITY");
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addNextIntent(openHomePageActivity);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
Android Solutions
Solution 1 - Android
Easy, simply call this:
mBuilder.setAutoCancel(true);
Also, while it's not really necessary, if you really want to use FLAG_AUTO_CANCEL
, just call this before you call mNotificationManager.notify
:
mBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;
Solution 2 - Android
Try this....
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
..........
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.push_notify_icon)
.setContentTitle("New Question!")
.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
.setAutoCancel(true).setContentText("" + QuestionData.getAuthor().getUserName() + ": " + QuestionData.getQuestion() + "");
mBuilder.setContentIntent(contentIntent);
..............
mBuilder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
mNotificationManager.notify(0, mBuilder.build());
Solution 3 - Android
Here is notification:
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_calendar)
.setContentTitle("My Firebase Push notification")
.setContentText(message)
.setAutoCancel(true)
.setSound(soundUri)
.setContentIntent(pendingIntent);
the key behind cancellation on click is:
.setAutoCancel(true)
i hope it resolves the matter.
Solution 4 - Android
You can add a flag to your notification:
http://developer.android.com/reference/android/app/Notification.html#FLAG_AUTO_CANCEL
This will dismiss it upon clicking.
Solution 5 - Android
In kotlin, you can use:
mBuilder.build().flags.and(Notification.FLAG_AUTO_CANCEL)