New PendingIntent actualiza la intención actual

Estoy tratando de mostrar diferentes notificaciones después de algún intervalo de tiempo, pero lo que sucede es que actualiza la actual PendingIntent por la nueva como resultado sólo obtener una notificación única, incluso si se dispara 4 – 5 pendientes solicitudes intenciones

En el botón haga clic en hacer lo siguiente

  try{ adapter.OpenDB(); int id = adapter.getMaxId("reminder")+1; adapter.CloseDB(); Intent intent = new Intent(MilestonesActivity.this, AlarmReceiver.class); intent.putExtra("message", ""+editMsg.getText()+" "+editDate.getText()); intent.putExtra("id", id); PendingIntent pendingIntent = PendingIntent.getBroadcast(MilestonesActivity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); am.set(AlarmManager.RTC_WAKEUP, reminddate.getTimeInMillis(), pendingIntent); adapter.CloseDB(); }catch (Exception e) { // TODO: handle exception } 

AlarmReceiver.java

  @Override public void onReceive(Context context, Intent intent) { Intent i =new Intent(context, NotificationService.class); try{ int id = intent.getExtras().getInt("id"); i.putExtra("id", id); CharSequence message = intent.getExtras().getString("message"); i.putExtra("message", message); }catch (Exception e) { // TODO: handle exception } context.startService(i); } 

NotificationService.java

  public void show(Intent intent) { try{ NotificationManager nm; Log.e("recieve", "ok"); nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); CharSequence from = "Lawyer app Reminder"; CharSequence message = intent.getExtras().getString("message"); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(), PendingIntent.FLAG_ONE_SHOT);// also tried FLAG_UPDATE_CURRENT int id =intent.getExtras().getInt("id"); Log.e("I", ""+id); Notification notif = new Notification(R.drawable.message_active, "Lawyer app Reminder.", System.currentTimeMillis()); notif.defaults = Notification.DEFAULT_ALL; notif.flags = Notification.FLAG_AUTO_CANCEL; notif.setLatestEventInfo(this, from, message, contentIntent); nm.notify(id, notif); }catch (Exception e) { e.printStackTrace(); } 

Plaese me ayuda con esto. Gracias de antemano

Si el valor de id en nm.notify(id, notif); Es igual que la Notificación se sobrescribirá.

Por lo que necesita para asegurarse de que el id es diferente para diferentes Notificación

Lo encontré

El segundo parámetro del constructor pendingintent no debe ser el mismo (que fue 0 codificado)

Lo cambié a (int) System.currentTimeMillis () para que no debería ser el mismo 🙂

 Intent ni =new Intent(NotificationService.this,ModifyDatabaseService.class); ni.putExtra("id", ""+id); PendingIntent contentIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), ni, PendingIntent.FLAG_ONE_SHOT); 

En su caso si el segundo PendingIntent es "igual" al anterior, lo reemplaza.

PendingIntents son iguales si todos los siguientes son los mismos:

  1. El requestCode (segundo parámetro pasado al método de fábrica)
  2. Todos los datos del Intent (tipo, uri, categoría … etc)

Por lo tanto, si no desea que el segundo PendingIntent anule el anterior, cambie uno de la lista anterior.

  • Cómo quitar la notificación de la barra de notificación mediante programación en android?
  • ¿Cómo utilizar PendingIntent para comunicarse desde un servicio a un cliente / actividad?
  • Cómo guardar persistentemente PendingIntent proporcionado por otra aplicación
  • Android PendingIntent FLAG_NO_CREATE no devuelve null
  • Lectura de un mensaje NDEF desde una etiqueta NFC desde una aplicación de Android
  • Android Widget deja de funcionar aleatoriamente
  • Pasando intención extra a receptor de radiodifusión android
  • ¿Por qué noftificaciones aparecen en la barra de notificación de Android por un tiempo, entonces desaparece
  • Extras de Android PendingIntent, no recibidos por BroadcastReceiver
  • ¿Cuál es el concepto de intención pendiente? ¿Por qué y cuándo utilizamos intención pendiente?
  • ¿Cómo compara Android las intenciones pendientes?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.