如何通知button点击后closures状态栏/通知面板

我浏览了Stackoverflow,看到这个问题已经被问到,但我没有find任何解决scheme。

我有2个button的自定义通知。 我想要按下该通知上的button后状态栏面板closures,但不知道如何。 如果我按通知本身(所以contentIntent),然后面板closures,这也是我想要的button。

这是我的通知代码:

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

Solutions Collecting From Web of "如何通知button点击后closures状态栏/通知面板"

使用以下两个代码行折叠通知栏。

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

好的,我find了解决scheme。 这不是公共API,但它的工作(目前):

 Object sbservice = c.getSystemService( "statusbar" ); Class<?> statusbarManager = Class.forName( "android.app.StatusBarManager" ); Method hidesb = statusbarManager.getMethod( "collapse" ); hidesb.invoke( sbservice ); 

为了这个工作

 <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/> 

是必要的