startActivityForResult 的作用:A—> B,B关闭时返回参数给A
?
AActivity.java
//打开BIntent intent = new Intent(this,BActivity.class);startActivityForResult(intent, 1);//startActivityForResult使用这个新的Activity关闭后能返回参数,1是发送参数@Overrideprotected 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后关闭
?