FLAG_ACTIVITY_CLEAR_TOP und onActivityResult

8

Mein Aktivitätsstapel ist A B C, mit C oben. A startete B mit startActivityForResult ().

Jetzt in C startet es A und löscht den Anfang mit dem folgenden Code:

%Vor%

Meine Frage ist, wird OnActivityResult () in A aufgerufen, nachdem der obige Code ausgeführt wurde? Ich habe es erwartet, weil B zerstört wird, nachdem C A startet und die Spitze löscht. Aber mein Testcode zeigte, dass onActivityResult () in A nicht aufgerufen wurde. Ich bin verwirrt. Kann jemand helfen?

Danke.

    
Kai 11.02.2011, 17:56
quelle

2 Antworten

3

In Ihrem Code starten Sie eine neue Aktivität A von ACTIVITY C. Dies ruft das onActivityResult nicht auf. Dies geschieht einfach, weil eine neue Aktivität A gestartet wird. onActivityResult () wird nur aufgerufen, wenn Sie Ihre Activity B beenden ().

Ich hoffe, jemand fügt den Answers mehr hinzu, wenn dies nicht klar ist.

    
Varun 11.02.2011 19:02
quelle
0

Versuchen Sie, den LaunchMode Ihrer Aktivität A auf den Wert "singleTask" zu setzen, oder verwenden Sie Ihr Flag FLAG_ACTIVITY_CLEAR_TOP in Verbindung mit FLAG_ACTIVITY_NEW_TASK. Standardmäßig ist der launchMode von Activity A der Standard, und beim Starten von A from C wird eine neue Instanz von A erstellt.

    
andysbible 17.04.2013 02:27
quelle

Tags und Links