Difference between startActivityForResult() and startActivity()?

AndroidAndroid IntentAndroid ActivityStart Activity

Android Problem Overview


What is the difference between startActivityForResult() and startActivity() ?

When, and for what, should I use each one ?

Android Solutions


Solution 1 - Android

startActivity

Start an activity, like you would start an application: for instance: you have an app with a home-screen and a user-info screen: if you press the user-info button, you start the user-info activity with this.

startActivityForResult

Start an activity and expect something in return. For instance, on your user-info screen, you can upload a profile picture. You start the gallery-activity with the explicit goal to get a URI back with the preferred picture. You start this activity literaly to obtain a result (the picture. There are some techinical ways to make sure you actually get the result, but they are quite clear in the manual.

Solution 2 - Android

startActivity will start a new activity and not care when where and how that activity finishes.

evidently

startActivityForResult waits for callbacks when the started activity decided to finish

startActivity() will start the activity you want to start without worrying about getting any result from new child activity started by startActivity to parent activity.

startActivityForResult() starts another activity from your activity and it expect to get some data from newly started child activity by startAcitvityForResult() and return that to parent activity.

Check this link - Activity#startActivityForResult(Intent, int)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAravindh SrinivasanView Question on Stackoverflow
Solution 1 - AndroidNanneView Answer on Stackoverflow
Solution 2 - AndroidRandroidView Answer on Stackoverflow