How to close the status bar/notification panel after notification button click

Toni Kanoni picture Toni Kanoni · Mar 22, 2013 · Viewed 14.5k times · Source

I've browsed through Stackoverflow and have seen that this question has been asked, but I didn't find any solution.

I have a custom notification with 2 buttons. I want the status bar panel to close after I press a button on that notification, but don't know how. If I press the notification itself (so the contentIntent), then the panel closes, which is what I also want for my buttons.

Here's my notification code:

Notification notification = new Notification(R.drawable.icon, "Service running", System.currentTimeMillis());
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.contentIntent = openIntent;
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_layout);


contentView.setOnClickPendingIntent(R.id.button1, stopIntent);
contentView.setOnClickPendingIntent(R.id.button2, addIntent);

notification.contentView = contentView;

notificationManager.notify(NOTIFICATION_ID, notification);

Answer

Sam Lu picture Sam Lu · Dec 6, 2013

Use the following two code line to collapse the notification bar.

Intent it = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
context.sendBroadcast(it);