在 AndroidManifest.xml中註冊一個Activity時,可指定Action
<activity
android:name="mstar.factorymenu.ui.MainActivity"
android:label="@string/app_name"
android:launchMode="singleInstance" >
<intent-filter>
<action android:name="mstar.tvsetting.factory.intent.action.MainmenuActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
使用隱式意圖:
Intent mIntent=new Intent();
mIntent.setAction("mstar.tvsetting.factory.intent.action.MainmenuActivity");
startActivity(mIntent);
注意:在<intent-filter></intent-filter>標籤中,只能有一個action標籤,可以有多個category標籤
<category android:name="android.intent.category.DEFAULT" />這句作用是:如果有隱式意圖請求時,這句能保證activity能正確匹配
如果沒這句,隱式意圖申請時,會報 ActivityNotFoundException異常
<activity
android:name="mstar.factorymenu.ui.MainActivity"
android:label="@string/app_name"
android:launchMode="singleInstance" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<action android:name="android.intent.action.MAIN" />決定應用程序最先啓動的Activity ,
<category android:name="android.intent.category.LAUNCHER" />:如果沒有這句,則在應用列表中,不會顯視這個apk