如何通知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); 

  • Google云消息传递向所有设备发送通知
  • Android O报告通知没有发布到频道 - 但它是
  • NotificationCompat.Builder addAction丢失?
  • 意图恢复以前暂停的活动(从通知中调用)
  • 通知打开活动,后退button被按下,主要活动被打开?
  • 我应该如何从通知返回到活动没有新的意图
  • 如何使用phonegap在状态栏上创build通知
  • Android状态栏通知 - select通知时打开正确的活动
  • 使用以下两个代码行折叠通知栏。

     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"/> 

    是必要的