Frage

Wenn ich die Benachrichtigung in der Statusleiste klicken startet es eine Aktivität, aber das Verhalten ist seltsam. Wenn mein App im Vordergrund ist und ich auf die Benachrichtigung der Benachrichtigung Absicht einmal gebrannt wird. Wenn mein app im Hintergrund ist, dann wird die Meldung Absicht zweimal gebrannt. Wenn ich die App verlassen (dh alle Aktivitäten werden durch das Drücken der Zurück-Taste geknallt worden), dann wird Benachrichtigung Absicht abgefeuert einmal. Kann jemand dieses Verhalten erklären. Der Code-Snippet ist wie folgt:

_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);
War es hilfreich?

Lösung

_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Versuchen Sie dies. es wird mehrere Instanzen der gleichen Aktivität zu verhindern. u kann im Manifest setzt diese auch

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top