Cómo agrupar las notificaciones de Android como whatsapp?

No sé cómo agrupar dos o más notificaciones en solo una y mostrar un mensaje como "Tienes dos nuevos mensajes".

3 Solutions collect form web for “Cómo agrupar las notificaciones de Android como whatsapp?”

Pasos a seguir con el siguiente código.

NotificationCompat.Builder:contains the UI specification and action information NotificationCompat.Builder.build() :used to create notification (Which returns Notification object) Notification.InboxStyle: used to group the notifications belongs to same ID NotificationManager.notify():to issue the notification. 

Utilice el siguiente código para crear una notificación y agruparla. Incluya la función en un clic de botón.

 private final int NOTIFICATION_ID = 237; private static int value = 0; Notification.InboxStyle inboxStyle = new Notification.InboxStyle(); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.push_notify_icon); public void buttonClicked(View v) { value ++; if(v.getId() == R.id.btnCreateNotify){ NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Notification.Builder builder = new Notification.Builder(this); builder.setContentTitle("Lanes"); builder.setContentText("Notification from Lanes"+value); builder.setSmallIcon(R.drawable.ic_launcher); builder.setLargeIcon(bitmap); builder.setAutoCancel(true); inboxStyle.setBigContentTitle("Enter Content Text"); inboxStyle.addLine("hi events "+value); builder.setStyle(inboxStyle); nManager.notify("App Name",NOTIFICATION_ID,builder.build()); } } 

Para notificaciones por separado, asigne diferentes NOTIFICATION_ID.

Debe crear la notificación para que se pueda actualizar con un ID de notificación llamando a NotificationManager.notify(ID, notification) .

Es necesario crear los siguientes pasos para actualizar la notificación:

  1. Actualizar o crear un objeto NotificationCompat.Builder
  2. Generar un objeto de notificación
  3. Emita la Notificación con el mismo ID que usó anteriormente

Un ejemplo tomado de los documentos del desarrollador android:

 mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // Sets an ID for the notification, so it can be updated int notifyID = 1; mNotifyBuilder = new NotificationCompat.Builder(this) .setContentTitle("New Message") .setContentText("You've received new messages.") .setSmallIcon(R.drawable.ic_notify_status) numMessages = 0; // Start of a loop that processes data and then notifies the user ... mNotifyBuilder.setContentText(currentText).setNumber(++numMessages); // Because the ID remains unchanged, the existing notification is updated. mNotificationManager.notify(notifyID, mNotifyBuilder.build()); ... 

También vea los documentos de Android sobre las notificaciones de apilamiento https://developer.android.com/training/wearables/notifications/stacks.html

Para la lógica completa por favor considere revisar mi respuesta. Utilicé la lógica con las preferencias compartidas y receptor de difusión como yo necesitaba para agrupar cada mensaje de usuario en uno solo y estar a la vista de las notificaciones activas. Como sólo por la orientación de la api nivel 23 se puede obtener activa Notificaciones, no me ayudó en absoluto. Así que decidí escribir un poco logic.Check lógico aquí si te apetece.

https://stackoverflow.com/a/38079241/6466619

  • Cómo controlar la pila trasera de Android
  • Cómo hacer que la aplicación de Android que "come" la memoria RAM
  • Configuración de Android AppWidget - Comienza en una nueva tarea
  • La aplicación de Android se reinicia al cerrar / cerrar fuerza
  • Notificación de Android - java.lang.Throwable: volcado de pila
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.