Hauptaktivität starten, wenn der Aktivitätsstapel leer ist

9

Ich habe eine Aktivität, die von mehreren anderen Aktivitäten gestartet werden kann, zusammen mit URL Filter Intents.

Bei dieser Aktivität verwende ich das Home-Symbol in der Aktionsleiste als Zurück-Schaltfläche, um den Benutzer zurück zur vorherigen Aktivität zu bringen (und nicht als "Home" -Aktion). Jetzt mache ich das, indem ich die finish () -Funktion aufruft. Dies funktioniert gut, wenn Sie innerhalb der Anwendung arbeiten.

Wenn Sie die Aktivität jedoch über eine URL-Filterabsicht starten, möchte ich, dass das Home-Symbol den Benutzer zur Hauptaktivität bringt. Offensichtlich beendet das Aufrufen von finish () nur die Aktivität.

Also meine Frage ist, gibt es eine Möglichkeit zu überprüfen, ob meine Anwendung Stapel leer ist und starten Sie dann die Haupttätigkeit, wenn wahr? Oder greife ich das falsch an?

    
SveinT 20.07.2012, 10:53
quelle

1 Antwort

13

Wenn Ihre App über den URL-Intent-Filter gestartet wird und eine eigene Aufgabe erstellt, können Sie

verwenden %Vor%

BEARBEITEN: Eine weitere mögliche Methode wurde hinzugefügt

Wenn Ihre App in eine vorhandene Aufgabe gestartet wird, wenn sie über den URL-Intent-Filter gestartet wird, können Sie Folgendes tun:

Wenn Sie Ihre Aktivität aus anderen Aktivitäten in Ihrer Anwendung starten, fügen Sie der Absicht wie folgt eine EXTRA hinzu:

%Vor%

Wenn Ihre Aktivität gestartet wird, kann sie dann prüfen, ob EXTRA in der Absicht vorhanden ist oder nicht, um festzustellen, ob sie intern oder über den URL-Intent-Filter wie folgt gestartet wurde:

%Vor%     
David Wasser 20.07.2012, 11:44
quelle

Tags und Links