Domanda

Quando clicco la notifica sulla barra di stato lancia un'attività ma il comportamento è strano. Se la mia app è in primo piano e clicco la notifica l'intenzione di notifica viene generato una volta. Se la mia applicazione è in background quindi l'intento di notifica viene attivato due volte. Se esco l'applicazione (cioè tutte le attività sono state saltate premendo il tasto back) poi l'intento di notifica è sparato una volta. Qualcuno può spiegare questo comportamento. Il frammento di codice è il seguente:

_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);
È stato utile?

Soluzione

_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Prova questo. impedirà più istanze della stessa attività. u può mettere questo nel manifesto anche

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top