Cómo cerrar la barra de estado / el panel de notificaciones después de hacer clic en el botón de notificación

He navegado a través de Stackoverflow y he visto que esta pregunta se ha hecho, pero no encontré ninguna solución.

Tengo una notificación personalizada con 2 botones. Quiero que el panel de la barra de estado se cierre después de presionar un botón en esa notificación, pero no sé cómo. Si presiono la notificación en sí (por lo que el ContentIntent), entonces el panel se cierra, que es lo que también quiero para mis botones.

Aquí está mi código de notificación:

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

Utilice los dos siguientes línea de código para contraer la barra de notificación.

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

Ok, he encontrado la solución. No es API pública, pero funciona (por el momento):

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

Para que esto funcione

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

Es necesario

  • Android: Notificación de grupo en la barra de estado pero no en la lista de notificaciones
  • Android: Después de crear una nueva notificación, la más antigua se reemplaza
  • Android 5 Mala notificación enviada desde el paquete
  • Kivy - Plyer - Android - envío de notificaciones mientras la aplicación no se está ejecutando
  • LED de notificación - color
  • Tamaños de las imágenes pequeñas y grandes de la notificación de Android
  • ¿Cómo agregar sonido a la notificación?
  • Cómo borrar una notificación si la actividad se bloquea?
  • El proceso de fondo de la aplicación se detiene, si el dispositivo se ha iniciado
  • Congelación de la barra de progreso de la notificación de Android
  • Android: Desactivación del sonido de notificaciones
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.