2017-06-14 2 views
0

Ich bin extrem verwirrt mit Aktivitäten Startmodi. Hier ist das Szenario.Mehrere Aktivitäten mit singleTask

A Aktivität - Haupt, Werfer mit singleTask Startmodus Aktivität B - singleTask Startmodus Aktivität C - Standardstartmodus

Hier ist, was ich

Aktivität A> Aktivität B zu tun> Aktivität C

Und ich drücke die Home-Taste. Und ich nehme die App von den letzten Apps wieder auf. Was passiert eigentlich, dass

Aktivität A

Aber ich habe die Dokumentation zu lesen und es sollte nach dem Aufwachen so sein

Aktivität A> Aktivität B

Oder bin ich etwas fehlt?

Antwort

0

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.

Verwandte Themen