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
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
 
    
    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:
Example:
http://www.javatpoint.com/android-startactivityforresult-example
 
    
    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();
 
    
    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 
        }
    }
}
 
    
    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()
