Nun, viel hängt davon ab, wie Sie taskAffinity
für die verschiedenen Aktivitäten im Manifest festgelegt haben.
Nehmen wir an, Sie haben es so konfiguriert, dass die Aktivität A
und die Aktivität B
unterschiedliche Werte haben taskAffinity
(wie Sie es SOLL konfigurieren). Wenn Sie Ihre App starten, erstellt Android eine neue Aufgabe, die A
enthält. Wenn Sie B
von A
starten, sollte Android eine andere neue Aufgabe erstellen, die nur B
enthält. Die Aufgabe, die A
enthält, wird in den Hintergrund gesendet. Sie sollten jetzt 2 Aufgaben haben, eine enthält nur A
und eine enthält nur B
. Wenn Sie C
von B
starten, sollte die zweite Aufgabe nun B->C
enthalten. Wenn Sie die Taste HOME drücken, wird die zweite Aufgabe in den Hintergrund gesendet.
Jetzt, wenn Sie in der Liste der letzten Aufgaben suchen, sollten Sie tatsächlich 2 Aufgaben für Ihre App sehen. Abhängig davon, welche Sie auswählen, erhalten Sie entweder die Aufgabe, die nur A
enthält, oder die Aufgabe, die B->C
enthält.
Aus diesem Grund sollten Sie keine speziellen Startmodi singleTask
oder singleInstance
verwenden, da sie viele Dinge tun, die Sie nicht erwarten. Wenn Sie diesen Ratschlag ignorieren und trotzdem diese Startmodi verwenden, müssen Sie wissen, wie sich die Art und Weise, in der Aktivitäten in die verschiedenen Aufgaben gestartet werden, auf taskAffinity
auswirkt. Außerdem müssen Sie beachten, dass Sie möglicherweise mehrere Aufgaben haben um dem Benutzer die Möglichkeit zu geben, aus der Liste der letzten Aufgaben zur richtigen Aufgabe zurückzukehren. Dies bedeutet auch, dass Sie möglicherweise unterschiedliche Bezeichnungen für die Aufgaben und/oder unterschiedliche Symbole für die Aufgaben bereitstellen müssen, damit der Benutzer die richtige Aufgabe zum Fortsetzen finden kann.