intent
参考:http://liangruijun.blog.51cto.com/3061169/634411/
显式:startActivity(new intent(A.this,B.class));
隐式:配置action和category,俩个同时匹配上才能启动。action只能有一个,但category可以有多个。
startActivity(new intent("com...action"));
还可以启动内置的action;
例如打开浏览器;new intent,然后intetn.setData(Uri.parse("http://www.google.com"));
parse("tel:123456");
除了配置action和category,还可以配置<data android:scheme="http">也能启动能响应此intent的所有关于http请求。scheme:http port:8080 host:www.com path:index.html
向下一个活动传递数据
发出:intent.putExtra("ExtraData","hello");
接收:intent = getintent();
data=intent.getStringExtra("ExtraDatta");
返回数据给上一个活动
活动1:startActivityForResult(new Intent(a.this,b.class),1);
1是请求码,唯一值就行;
活动2:intent.putExtra("returndata","hello");
setResult(RESULT_OK,intent);//专门返回数据给上一个活动
finish();
第一个参数一般只使用RESULT_OK,RESULT_CONCELED.
活动1:要想接收返回数据,要覆写onActivityResult(int requsetCode,int resultCode,Intent data){
if(resultCode==RESULT_OK)
returnData=data.getStringExtra(data_return);
}
如果不是通过点击事件返回上一个活动,而是按back键,这时应该覆写onBackPressed(){
intent.putExtra("returndata","hello");
setResult(RESULT_OK,intent);//专门返回数据给上一个活动
finish();
}