1.顯式啟動
Intent intent = new Intent(this, class);
startActivity(intent);
2.隱式啟動
AndroidManifest.xml中定義某個Activity的intent-fliter
<intent-filter>
<action android:name="com.example.activity.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.example.activity.ACTION_START" />
</intent-filter>
Activity中
Intent intent = new Intent("com.example.activity.ACTION_START");
//android.intent.category.DEFAULT是一種默認的category,在startActivity時自動添加
intent.addCategory("com.example.activity.ACTION_START");
startActivity(intent);
隱式啟動,在啟動的時候是不明確的,需要匹配系統或AndroidManifest.xml中的intent-filter定義,只有action和category和data完全匹配時,才會啟動.
隱式啟動不僅可以啟動自己的Activity,還可以啟動其他的Activity,如打開網頁
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
這兒首先指定了intent的action為Intent.ACTION_VIEW,這是android內置的打開網頁動作,然后通過Uri.parse將一個網址解析為Uri對象,再調用Intent的setData將Uri對象傳遞進去.