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);