Aktivität ruft andere Aktivitäten in der Android-Sequenz auf
-
21-12-2019 - |
Frage
Wie kann ich die Aktivität speichern und merken, die von einer bestimmten Aktivität gestartet wurde?Angenommen, ich habe Aktivität 1, die Aktivität 2 mit startActivityForResult() startet.Dann sehe ich folgende Aufruffolge:
onPause called from Activity1!
onSaveInstanceState called from Activity1
onActivityResult called from Activity1
Wenn ich später auf die Schaltfläche „Zurück“ klicke, um von Aktivität2 zu Aktivität1 zurückzukehren, sehe ich den Aufruf von onRestart:
onRestart called from Activity1
onResume called from Activity1
Meine Frage ist nun, wie erkenne ich, dass der Übergang von Aktivität2 -> Aktivität1 erfolgt und nicht (sagen wir) Aktivität3 -> Aktivität1?
Lösung
Eine Möglichkeit ist die Verwendung startActivityFprResult
stattdessen.Wenn Sie eine Ihrer anderen Aktivitäten (in diesem Fall Aktivität2 oder Aktivität3) abgeschlossen haben, rufen Sie an setResult(RESULT_OK, intent)
und stellen Sie eine zur Verfügung Intent
.Dies wird an Aktivität1 in übermittelt onActivityResult
, und Sie können einfach etwas mehr hineingeben Intent
um herauszufinden, welche Activity
gerade beendet.