Android: Administración de varias notificaciones

Estoy intentando crear varias notificaciones en mi aplicación. Para identificar cada notificación de manera única, les he dado una identificación única. El siguiente es mi código:

private void updateNotification(int notificationId, int clockStatusID, CharSequence text) { //notificationManager.cancel(notificationId); // throws up an ongoing notification that the timer is running Log.i("TIMERCOUNT", "Notification id: " + notificationId); Notification not = new Notification(clockStatusID, // the // icon // for // the // status // bar text, // the text to display in the ticker System.currentTimeMillis() // the timestamp for the // notification to appear ); Intent intent = new Intent(); intent.putExtra("notificationID", notificationId); intent.setAction("actionstring" + System.currentTimeMillis()); intent.setClassName("com.chander.time.android.activities", "com.chander.time.android.activities.Tabs"); not.setLatestEventInfo(self, getText(R.string.timer_notification_title), getText(R.string.timer_on_notification_text), PendingIntent .getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)); not.flags += Notification.FLAG_ONGOING_EVENT; not.flags += Notification.FLAG_NO_CLEAR; notificationManager.notify(notificationId, not); } 

Problema: Cuando se selecciona una notificación, la actividad Tabs se denomina pasar la intención. Quiero acceder a la notificationId única de la notificación que se seleccionó en Tabs. Intenté intent.putExtra () para guardar el notificationId en la intención. Pero, para las notificaciones múltiples su sobrescribir el notificationId y devuelve el último. No entiendo por qué esto está sucediendo y cómo puedo evitar esta sobrescritura de notificationId.

Gracias, Chander

Tengo la respuesta. Las intenciones estaban recibiendo en caché pulg Para, hacer una nueva intención, sólo tiene que añadir la siguiente pieza de código:

 saveCallIntent.setData((Uri.parse("custom://"+System.currentTimeMillis()))); 

Esto hace que la intención sea única.

Además, alguien me sugirió la siguiente pieza de código para hacer la intención única:

 saveCallIntent.setAction("actionstring" + System.currentTimeMillis()); 

No me ayudó, pero podría ser de ayuda a alguien más.

–Chander

Simplemente coloque el pendingIntent en lugar de 0 en pendingIntent .

 PendingIntent.getActivity(this, notificationId, intent,PendingIntent.FLAG_UPDATE_CURRENT)); 

El usuario también debe actualizar el código siguiente junto con el anterior para que funcione.

  mNotificationManager.notify(notificationId, mBuilder.build()); 
  • No se pudo encontrar el método en el contexto padre o antepasado
  • Android: cómo mostrar el gridview en blanco con el botón
  • Diferencia de regex de Java y Android
  • Error de inicio del error mediarecording de Android -19 runTimeException
  • URL de MediaPlayer para Android con Cookie
  • Persistencia de objetos con Realm (error: Cambiar datos de Realm sólo se puede hacer desde dentro de una transacción)
  • Implementar seguridad a nivel de firma en los servicios de Android con más de una firma permitida
  • BouncyCastle error AES al actualizar a 1.45
  • Después de importar Android Project en Eclipse, los iconos de paquete son "blanco"
  • Práctica recomendada: Ampliación o anulación de una clase de proyecto de biblioteca de Android
  • Adaptación de adaptadores desde la vista de lista a la clase de vista de elemento único
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.