1.显式意图,Component属性
//通过组件名称直接查找组件(通过component属性
Intent intent1 = new Intent();
ComponentName componentName = new ComponentName(this,Main9Activity.class);
intent1.setComponent(componentName);
//第二种写法
// Intent intent = new Intent(this,Main9Activity.class);
//第三种写法
// Intent intent = new Intent();
// intent.setClass(HelloActivity.this, OtherActivity.class);
startActivity(intent1);
2.Action属性
//使用间接法(通过action属性
//在配置文件中,在未有分类时,category必须要有默认的
Intent intent2 = new Intent();
intent2.setAction("com.example.john.action");
startActivity(intent2);
在配置文件中:
category的默认属性必须要有,不然会报错
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
3.Category属性
//使用间接法,(通过action属性和category属性
//虽然这里自己添加了category,但是配置文件中默认的category必须要写上,不然还是会报错
Intent intent3 = new Intent();
intent3.setAction("com.example.john.action");
intent3.addCategory("com.example.john.category");
startActivity(intent3);
在配置文件中:
<intent-filter>
<action android:name="com.example.john.action" />
<category android:name="com.example.john.category" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
4.data属性
//data属性,通常与action一起使用(是最常见的使用
Intent intent4 = new Intent();
intent4.setAction("android.intent.action.VIEW");
Uri data = Uri.parse("http://www.baidu.com");
intent4.setData(data);
startActivity(intent4);
在配置文件中:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="www.baidu.com"
android:scheme="http" />
</intent-filter>
5.type属性
//type属性,表示数据的类型
//setData()会把type设为空,setType()会把data设置为空
Intent intent5 = new Intent();
intent5.setAction("android.intent.action.VIEW");
Uri data2 = Uri.parse("http://www.baidu.com");
//setData()和setType()不能一起用,要同时设置的话就要用setDatatAndType()来设置Data的type
intent5.setDataAndType(data2,"text/html");
startActivity(intent5);
在配置文件中:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="www.baidu.com"
android:mimeType="text/html"
android:scheme="http" />
</intent-filter>
6.Extras属性
//跳转页面时的数据存储
// Intent intent = new Intent(this,MainActivityB.class);
// Bundle bundle = new Bundle();
// String s = et_text.getText().toString();
// bundle.putString("string",s);
// //把Bundle存入Intent
// intent.putExtra("data",bundle);
// startActivity(intent);
7.Flag属性
//Flag属性,常用的有4个
//FLAG_ACTIVITY_CLEAR_TOP
//FLAG_ACTIVITY_NEW_TASK
//FLAG_ACTIVITY_NO_HISTORY
//FLAG_ACTIVITY_SINGLE_TOP
Intent intent7 = new Intent(this,Main9Activity.class);
intent7.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent7);