startActivityForResult 的作用:A—> B,B关闭时返回参数给A
AActivity.java
//打开B
Intent intent = new Intent(this,BActivity.class);startActivityForResult(intent, 1);//startActivityForResult使用这个新的Activity关闭后能返回参数,1是发送参数
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1){ //requestCode =1就是上面打开B时传递的发送参数,主要用来区分A打开多个Activity时进行区分
if(resultCode == RESULT_OK){ //resultCode =RESULT_OK是B传送回来的参数,
Bundle bundle = data.getExtras();//Intent data为B传送回来的Intent里面带的参数
String name = bundle.getDouble("name");//得到经纬度
}
}
}
BActivity.java
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("name", "xiaozhu");
intent.putExtras(bundle);
BActivity.this.setResult(RESULT_OK, intent); //返回给A的发送参数
BActivity.this.finish(); //必须在setResult后关闭