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

2 Solutions collect form web for “Android: Administración de varias notificaciones”

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()); 
  • Cómo enviar datos al servidor en android
  • ¿Cómo obtener datos de cada EditText creado dinámicamente en Android?
  • Toast Stop - getConnectedNodes
  • Android M onRequestPermissionsResult en no actividad
  • Android: ¿por qué google lugares api volver lugares en otros países, incluso cuando los límites es de 500 metros?
  • Subclase de JavaScript en Parse.com
  • Android Studio: crea un proyecto Java sin dependencias de Android
  • Restablecer compras con facturación en aplicaciones V3 (Android)
  • ListFragment cómo obtener la listView?
  • Ejecutar un solo archivo java con el método principal estándar (String args) - Android Studio
  • ¿Es el modelo de memoria de Dalvik el mismo que el de Java?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.