If want to get the data from the son activity, we can use the startactivityForResult.
So For getting the data from the son activity, we just need to override the methods " onActivityResult" 。
Let‘s code for this.
At first, we should create a mather activity.
package com.novasoftware; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MatherActivity extends Activity { private static String TAG="Mather Activity"; private Button btnOpen; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LocalizeContols(); RegisterEvents(); } private void LocalizeContols() { btnOpen=(Button)this.findViewById(R.id.btn_add_qrcode); } private void RegisterEvents() { //Add the click listener for the button view. btnOpen.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MatherActivity.this,SonActivity.class); startActivityForResult(intent,1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { String result = data.getExtras().getString("result"); Log.i(TAG, result); } }
when the onActivityResult methods, we can get the result with getextras. So we should add the data for the extras before we close the son activity.
package com.novasoftware;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class SonActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.camera); Button btnClose = (Button) findViewById(R.id.btn_cancel_scan); btnClose.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(); intent.putExtra("result", "This is the son activity sends!"); SonActivity.this.setResult(RESULT_OK, intent); SonActivity.this.finish(); } }); } }
after we close the son activity, we will find there is a log in the LogCat: Mather Activity --- This is the son activity sends!.