Process data from multiple actions in one onActivityResult ()?

I wonder if data can be processed, for example. activity 2 and activity 3 in activity 1, which have one onActivityResult() , or do I need to have one method for each activity that returns data?

Action 1 is the main activity for the application.

Action 1:

 // Handle return value from activity protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { String imageId = data.getExtras().getString("imageId"); // Do something if data return from activity 2 ?? // Do something if data return from activity 3 ?? } } 

Action 2

 Intent intent = new Intent(); intent.putExtra("imageId", imagePath); setResult(RESULT_OK, intent); finish(); 

Action 3

 Intent intent = new Intent(); intent.putExtra("contactId", data); setResult(RESULT_OK, intent); finish(); 
+6
source share
2 answers

set startActivityForResult to your startActivityForResult for action 1:

challenging activity 2

 Intent intent = new Intent(this, Activity2.class); startActivityForResult(intent,10); 

challenging activity 3

 Intent intent = new Intent(this, Activity3.class); startActivityForResult(intent,11); 

Now that you go to onActivityResult , make sure onActivityResult

as:

  public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case (10): { // do this if request code is 10. } break; case (11): { // do this if request code is 11. } break; } 
+7
source

No confusion check result code and request code ..

Example:

 private static final int TWO = 2; private static final int THREE = 3; startActivityForResult(new Intent(this,Activity2.class),TWO); // one for Activity 2 startActivityForResult(new Intent(this,Activity3.class),THREE); 

and

 protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK ) { if(requestCode == TWO) { // Activity two stuff } else if(requestCode == THREE) { // Activity three stuff } } } 
+6
source

All Articles