Q:

After calling startActivityForResult( - , - ) , how program control backs to onActivityResult ( - , - , - )

I am confused because there is no return type in 2nd_activity which can bring me back to 1st_activity onActivityResult() .

A:

You can set result(s) in the activity that was lanched using startActivityForResult using:
Bundle bundle = new Bundle();
bundle.putString(key, value);

Intent intent = new Intent();
intent.putExtras(bundle);
setResult(RESULT_OK, intent);

finish();

and then read this result back inside activity's onActivityResult function:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == YOUR_REQ_CODE) {
        if (resultCode == RESULT_OK) {
        }
    }
}

