Attività che chiama altre attività sulla sequenza Android
-
21-12-2019 - |
Domanda
Come posso salvare e ricordare l'attività che è stata lanciata da un'attività specifica?Dì che ho attività 1 che lancia l'attività 2 usando StartactivityForresult (). Quindi vedo la seguente sequenza di chiamate:
onPause called from Activity1!
onSaveInstanceState called from Activity1
onActivityResult called from Activity1
.
Più tardi Quando ho colpito il pulsante Indietro per tornare a Attività1 da Attività2, vedo l'OnRestart chiamato:
onRestart called from Activity1
onResume called from Activity1
.
Quindi ora la mia domanda è come identificare che la transizione è da Attività2 -> Attività1 piuttosto che (dire) Attività3 -> Attività1?
Soluzione
Un modo possibile è usare invece startActivityFprResult
.Quando si completa una delle altre attività (in questo caso Attività 2 o attività33), chiami setResult(RESULT_OK, intent)
e fornisci un Intent
.Ciò sarà consegnato all'attività1 in onActivityResult
, e puoi semplicemente mettere un po 'di ulteriore nel Intent
per identificare quale Activity
ha appena finito.