web-dev-qa-db-fra.com

Différence entre startActivityForResult () et startActivity ()?

Quelle est la différence entre startActivityForResult() et startActivity()?

Quand et pour quoi dois-je utiliser chacun d'eux?

48

startActivity

Démarrez une activité, comme vous le feriez pour une application: par exemple: vous avez une application avec un écran d'accueil et un écran d'informations utilisateur: si vous appuyez sur le bouton d'informations utilisateur, vous démarrez l'activité d'informations utilisateur avec cela.

startActivityForResult

Commencez une activité et attendez quelque chose en retour. Par exemple, sur votre écran d'informations utilisateur, vous pouvez télécharger une photo de profil. Vous démarrez l'activité de galerie avec l'objectif explicite de récupérer un URI avec l'image préférée. Vous démarrez cette activité littéralement pour obtenir un résultat (l'image. Il existe des moyens techniques pour vous assurer d'obtenir réellement le résultat, mais ils sont assez clairs dans le manuel.

36
Nanne

startActivity démarrera une nouvelle activité et ne se souciera pas quand et comment cette activité se termine.

évidemment

startActivityForResult attend les rappels lorsque l'activité démarrée a décidé de se terminer

startActvity () démarrera l'activité que vous souhaitez démarrer sans vous soucier d'obtenir le résultat d'une nouvelle activité enfant démarrée par startActivity à l'activité parent.

startAcitvityForResult () démarre une autre activité à partir de votre activité et il s'attend à obtenir des données de l'activité enfant nouvellement démarrée par startAcitvityForResult () et à la retourner à l'activité parent.

Vérifiez ce lien - Activity#startActivityForResult(Intent, int)

24
Randroid