Ich habe 3 Aktivitäten - A , B und C .
Kurz gesagt startet Aktivität A Aktivität B, dann startet A auch Aktivität C und erwartet ein Ergebnis von C, erhält es aber nie.
Hier ist der Anwendungsworkflow:
Aktivität A wird beim Start der Anwendung gestartet und startet Aktivität B (nicht für Ergebnis, nur startActivity ()) in onCreate.
%Vor%Aktivität A startet die Aktivität C später im Code, diesmal für das Ergebnis mit startActivityForResult (), und Aktivität A hat auch onActivityResult.
%Vor%und
%Vor%Aktivität C verwendet setResult () und finish (), um einige Daten zurückzugeben, die zu Aktivität A zurückkehren sollten, da Aktivität A startActivityForResult ().
genannt wird %Vor%ABER Der Arbeitsablauf verstummt in Schritt 3. - onActivityResult von Aktivität A wird niemals aufgerufen (auch nicht von B), obwohl Aktivität A diejenige ist, die C für das Ergebnis startet. Ich bin mir nicht sicher, ob Aktivität B die Kommunikation von A und C behindert oder was das Problem sein könnte. Jede Hilfe wird sehr geschätzt.
Ich konnte das nie zum Laufen bringen, also benutzte ich stattdessen einen Handler, um die Daten zur notwendigen Aktivität zurückzubringen.
AKTUALISIEREN : Nachdem ich wieder darauf hingewiesen habe, habe ich herausgefunden, dass der wirkliche Grund dafür war, dass ich android:noHistory="true"
für die aufrufende / empfangende Aktivität A im Manifest hatte. Das Entfernen von android:noHistory="true"
hat das Problem behoben, aber wenn Sie es als wahr einstufen müssen, sind Handler eine gute Lösung.
Ich denke nicht, dass Sie getApplicationContext()
in der Absicht verwenden sollten.
Von der Entwickler-Website.
%Vor% Wenn Sie startActivityForResult()
eingeben, wird versucht, zu der Aktivität zurückzukehren, die in der Absicht angegeben ist, die Sie als globalen Anwendungskontext angeben.
Wenn Sie eine AktivitätB haben, sollten Sie sie wie
nennen %Vor%Dann wird es versuchen, zu ActivityB zurückzukehren, wenn ActivityC fertig ist.
Sie können dies versuchen:
%Vor% dataTobePassback
ist ein Intent
, das die Daten enthält, die Sie möglicherweise an die aufrufende Aktivität zurückgeben müssen
Tags und Links android android-activity