Remove notification after clicking

AndroidEclipseNotifications

Android 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)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionYossi ZloofView Question on Stackoverflow
Solution 1 - Androidingh.amView Answer on Stackoverflow
Solution 2 - AndroidSilambarasan PoongutiView Answer on Stackoverflow
Solution 3 - AndroidAli NawazView Answer on Stackoverflow
Solution 4 - AndroidJoxTraexView Answer on Stackoverflow
Solution 5 - AndroidRicardoView Answer on Stackoverflow