Android La intención pendiente iniciada desde notificaion no sustituye a la última
He leído muchos mensajes sobre el mismo tema y he probado todas las soluciones dadas sin obtener el resultado que quiero. El programa debe comenzar una intención con extras de una notificación:
NotificationManager mNotificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); Intent notificationIntent = new Intent(context, myActivity.class); notificationIntent.putExtra("someData", data); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); mNotificationManager.notify(ID, notification);
El problema es que cuando se muestra una nueva notificación, los extras agregados a la intención son los mismos que en la primera notificación. He triend con diferentes banderas en la intención y la intención pendiente, sin resultado. ¿Qué me estoy equivocando? Si acabo de lanzar la misma actividad (y los mismos extras) con un botón, todo funciona como se supone.
- TaskStackBuilder.addParentStack no funciona cuando estaba construyendo una notificación
- PendingIntent funciona correctamente para la primera notificación pero incorrectamente para el resto
- Android - ¿Cómo configurar una notificación para una fecha específica en el futuro?
- Notificación para el reproductor de música android
- SetLatestEventInfo () no se puede resolver en Android Studio
- Cómo comprobar si mi aplicación tiene permiso para mostrar la notificación
- ¿Cómo puedo mantener la notificación de Android abierta hasta que se cierre mi aplicación?
- En Android (en JB), ¿cómo puedo añadir una acción a una notificación personalizada rica?
- No hay sonido de notificación personalizado
- Firebase Notificaciones FCM click_action carga útil
- Notificación de notificación de Android O no publicada en el canal, pero es
- ¿Por qué los iconos establecidos con Notification.Builder.setSmallIcon en Android Lollipop muestran como un cuadrado blanco?
- Volver a iniciar la aplicación Android cuando el usuario hace clic en la notificación de Dirigible urbano
No sé por qué he tenido tales problemas con conseguir esto para trabajar. La combinación de banderas que usé para que funcione correctamente fue:
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);
También eliminé todas las banderas utilizadas al crear el notificationIntent
.
Intenta agregar un atributo en el archivo AndroidManifest.xml:
<activity ... android:launchMode="singleTop"/>