Die MainActivity in meiner App hat eine launchMode
von singleTop
in der Manifestdatei definiert. Wenn ich auf eine Benachrichtigung klicke, wird meine MainActivity neu erstellt und die alte Instanz wird zerstört. MainActivity ist sichtbar und im Vordergrund, wenn auf die Benachrichtigung geklickt wird, also würde ich annehmen, dass die Absicht an die onNewIntent()
der aktuellen Instanz übergeben würde, aber das passiert nie. Hier ist es die Absicht, ich erstellen:Aktivität mit launchMode singleTop oder singleTask wird immer neu erstellt
Intent resultIntent = new Intent(App.getInstance(), MainActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(App.getInstance());
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = PendingIntent.getActivity(App.getInstance(), 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
ich manchmal die FLAG_ACTIVITY_CLEAR_TOP
und FLAG_ACTIVITY_SINGLE_TOP
auf die Absicht hinzufügen wie folgt:
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Ich habe auch versucht, mit dem singleTask
launchMode auch mit den Fahnen und dem gleichen Verhalten ist passiert. Kann jemand etwas Einblick in dieses Verhalten geben?
Vielen Dank, das funktionierte. Ich brauchte auch keine Flaggen, die auf die Absicht eingestellt waren. –