Pregunta

Al hacer clic en la notificación en la barra de estado se pone en marcha una actividad, pero el comportamiento es extraño. Si mi aplicación está en primer plano y hago clic en la notificación del intento de notificación se disparó una vez. Si mi aplicación está en segundo plano y luego el intento de notificación se disparó dos veces. Si salgo de la aplicación (es decir, todas las actividades se han hecho estallar por golpear el botón de retroceso), entonces la intención de notificación se disparó una vez. ¿Puede alguien explicar este comportamiento. El fragmento de código es el siguiente:

_notification = new Notification(icon_id, "Ticker Text", System.currentTimeMillis());
_showActivityIntent = new Intent();
_showActivityIntent.setAction(MyActivityName);
_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_NO_HISTORY);
_showActivityPendingIntent = PendingIntent.getActivity(context, 0, _showActivityIntent, 0);
_notification.setLatestEventInfo(context, "My title", "My text", _showActivityPendingIntent);
_notificationMgr.notify(notificationId, _notification);
¿Fue útil?

Solución

_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Probar. se evitará que varias instancias de la misma actividad. u puede poner esto en el manifiesto también

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top