Activité appelant d'autres activités sur la séquence Android
-
21-12-2019 - |
Question
Comment puis-je enregistrer et mémoriser l'activité lancée par une activité spécifique ?Supposons que j'ai l'activité 1 qui lance l'activité 2 en utilisant startActivityForResult().Ensuite, je vois la séquence d'appels suivante :
onPause called from Activity1!
onSaveInstanceState called from Activity1
onActivityResult called from Activity1
Plus tard, lorsque j'appuie sur le bouton Précédent pour revenir à Activity1 depuis Activity2, je vois le onRestart appelé :
onRestart called from Activity1
onResume called from Activity1
Ma question est donc maintenant de savoir comment identifier que la transition s'effectue de Activity2 -> Activity1 plutôt que (disons) Activity3 -> Activity1 ?
La solution
Une manière possible consiste à utiliser startActivityFprResult
plutôt.Lorsque vous terminez l'une de vos autres activités (dans ce cas, Activity2 ou Activity3), vous appelez setResult(RESULT_OK, intent)
et fournir un Intent
.Ceci sera livré à l'activité 1 dans onActivityResult
, et vous pouvez simplement en mettre un peu plus dans le Intent
pour identifier lequel Activity
juste fini.