0

I am new to android development I call an intent now how can i get result from called activity can any one tell me how to perform this task ? i have called intent like.

Intent I = new Intent (this ,abc.class); startActivity(i);

thanks

1
  • What you mean by "how can i get result from called activity" ? Commented Dec 21, 2013 at 4:42

4 Answers 4

3

Use startActivityForResult and then override onActivityResult in your FirstActivity.

In FirstActivity

Intent intent = new Intent(FirstActivity.this,SecondActivity.class); startActivityForResult(intent, 2);// Activity is started with requestCode 2 

Override onActivityResult

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // check if the request code is same as what is passed here it is 2 if(requestCode==2) { String message=data.getStringExtra("MESSAGE"); Log.i("Message is",message); // logs Testing } } 

In SecondAcivity

Intent intent=new Intent(); intent.putExtra("MESSAGE","Testing"); setResult(2,intent); finish();//finishing activity 

Reference to the docs:

http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)

Example:

http://www.javatpoint.com/android-startactivityforresult-example

Sign up to request clarification or add additional context in comments.

Comments

1

For going to second activity use startActivityForResult in your firstclass

Intent callIntent = new Intent(FirstClass.this, SecondClass.class); startActivityForResult(callIntent, 1); 

then override onActivityResult method in your first class like this

protected void onActivityResult(int requestCode, int resultCode, Intent data) { // Check which request we're responding to if (requestCode == 1) { // Make sure the request was successful if (resultCode == RESULT_OK) { // get values from data } } } 

In your second class do this for returning back, if you want to send something to first class. Store this in your intent.

Intent result = new Intent(); setResult(Activity.RESULT_OK, result); finish(); 

Comments

0

hi you can get result calling activity

Start activity with startActivityForResult(intent, 0); add below method in calling activity

 protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 0) { if (resultCode == RESULT_OK) { // do your task } else if (resultCode == RESULT_CANCELED) { // do your task } } } 

Comments

0

In your main Class....

static final int CODE_REQUEST = 1; // The request code 

....

Intent pickContactIntent = new Intent(MainClass.this, CallingClassName.class); startActivityForResult(pickContactIntent, CODE_REQUEST); 

..........

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // Check which request we're responding to if (requestCode == PICK_CONTACT_REQUEST) { // Make sure the request was successful if (resultCode == RESULT_OK) { // The user picked a contact. // The Intent's data Uri identifies which contact was selected. // Do something with the contact here (bigger example below) } } } 

In your calling class

Intent result = new Intent(); setResult(Activity.RESULT_OK, result); finish() 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.