2.1和2.2的内容比较简单,没什么好记的,
1.显示意图
显示意图需要传入两个参数:上下文和目标活动的class文件。
Intent intent = new Intent(FirstActivity.this ,SecondActivity.class);
startActivity(intent);
2.隐式意图
隐式意图需要根据标签下配置的内容,可以指定当前活动能够响应的action和category。
Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("com.example.activitytest.MY_CATEGORY");
startActivity(intent);
隐式意图还有其他的用处,比如启动网页(http),电话等(tel),地图(geo).
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
在<intent-inlter>下配置<data>标签页的格式
<data android:scheme="http">
android:scheme 用于指定数据的协议部分,如上例的http部分
android:host 用于指定数据的主机名部分,如上例的www.baidu.com部分
android:post 用于指定数据的端口部分
android:path 用于指定主机和端口名之后
android:mimeType 用于指定可以处理的数据类型
3.传递数据
发送数据
Intent intent = new Intent(FirstActivity.this ,SecondActivity.class);
intent.putExtra("extraData","data");
startActivity(intent);
接收数据
Intent intent = getIntent();
String data = intent.getStringExtra("extraData");
4.返回数据给上一个活动
FirstActivity中调用startActivityForResult(intent,请求码)来启动SecondActivity;在SecondActivity中调用setResult(RESULT_OK,intent);这个方法是专门向上一个活动返回数据的,接收两个参数,第一个是用于向上一个活动返回处理结果,一般为RESULT_OK和RESULT_CANCELED这两个。第二个把带有数据的intent传递回去。我们使用startActivityForResult()方法来启动SecondActivity,当SecondActivity销毁的时候,会回调FirstActivity的onActivityResult(int requestCode,int resultCode, Intent data),第一个参数是启动活动时传入的请求码,第二个参数是返回数据时的处理结果,第三个就是携带数据的intent。
FirstActivity启动SecondActivity:
Intent intent = new Intent(FirstActivity.this ,SecondActivity.class);
startActivityForResult(intent,1);
SecondActivity 中使用setResult返回数据:
Intent intent = new Intent();
intent.putExtra("data_return","Hello FirstActivity");
setResult(RESULT_OK,intent);
接收SecondActivity返回的数据
protected void onActivityResult(int requestCode,int resultCode, Intent data){
switch(requestCode){
case 1:
if(resultCode == RESULT_OK){
String data = data.getStringExtra("data_return");
}
}
}
onCreate() , onStart() ,onResume() , onPause() ,onStop() , onDestory() ,onRestart().
standard ,singleTop ,singleTast ,singleInstance