Intent之startActivity()与startActivityForResult()区别:
startActivity(intent);只能是跳转到指定的Activity之中,而startActivity(intent,100)在跳转到另外一个Activity之后可以回调,及返回一个数据。
如:~~~~~~~~~MainActivity
Intent intent = new Intent(MainActivity.this,FActivity.class);
startActivityForResult(intent,100);//两个参数,第一个是Intent对象,第二个是“请求码”,这个请求码是用来区分不同的请求
~~~~~~~FActivity
Intent intent = new Intent();//之后finish掉这个 Activity就可以回到之前的Activity之中了,所以不需要有参数
Strint data = "124234dgfdfsg";
intent.putExtra("Data",data);
setResult(Activity.RESULT_OK,intent);
finish();
~~~~~~MainActivity
//在MainActivity中获取之前传过来的数据
@override
pritected void onActivityResult(int requestCode,int resultCode,Intent intent){
super.onActivityResult(requestCode,resultCode,intent);
if(requestCode == 100&&resultCode == Activity.RESULT_OK){//第一个参数判断requestCode是不是等于当初设置的值,第二个判断是不是等于RESULT_OK
String val = data.getExtras().getString("data");
}
}