Intent的显式意图
指明了Intent要跳转的目标活动的类名.
startActivity(new Intent(Main2Activity.this,Main3Activity.class));
Intent的隐式意图
隐式意图比显式意图要含蓄的多。
- 从MainActivity跳转到SecondActivity中
1)在MainActivity中写
public void myStart(View view){
Intent intent=new Intent("com.example.administrator.intenttest.ACTION_START");
startActivity(intent);
}
2)SecondActivity的配置文件中写
- 在SecondActivity的配置文件中指定两个category。
com.example.administrator.intenttest是包名。
如果只是给SecondActivity指定了两个category而MainActivity没有改变的话就跟上一中情况结果是一样的。
- 在MainActivity跳转时中添加category,并且在SecondActivity的配置文件中指定两个category。
在MainActivity中的意思就是不仅要根据action来找到目标activity还要根据category来查找activity。
public void myStart(View view){
Intent intent=new Intent("com.example.administrator.intenttest.ACTION_START");
startActivity(intent);
}
每个Intent中只能指定一个action但却能指定多个category。
- MainActivity跳转到指定的数据头部协议为“http”的应用。
1)在MainActivity中写隐式跳转。
public void myStart(View view){
Intent intent=new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);}
2)在SecondActivity的配置文件中写
最终的效果就是,当我点击MainActivity的按钮时会弹出
点击IntentTest项目时会跳转到SecondActivity。
Intent传递数值
1)MainActivity的代码是
public void myStart(View view){
Intent intent=newIntent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){
case 1:
if(resultCode==RESULT_OK){
String returnData=data.getStringExtra("data_return");
System.out.println(returnData);
}
break;
default:
}
}
2)SecondActivity
public void mySecond(View view){
Intent intent=new Intent();
intent.putExtra("data_return","Hello Main");
setResult(RESULT_OK,intent);
finish();
}
回退的时候也要保存数据给MainActivity。
@Overridepublic void onBackPressed() {
Intent intent=new Intent();
intent.putExtra("data_return","Hello Main");
setResult(RESULT_OK,intnent);
finish();
}
摘自:《第一行代码》
Intent启动组件的方法
- Activity
startActivity(); - service
startService();
bindService(); - Broadcasts
sendBroadcasts( )
sendOrderedBroadcasts( )
sendStickyBroadcasts( )
摘自:
[Intent的简介以及属性的详解]
[Intent详解]
[I]