activity-alias是android裏爲了重複使用Activity而設計的 android
能夠使你的app具備多個icon圖標進入點 app
當在Activity的onCreate()方法裏,執行getIntent().getComponent().getClassName();獲得的可能不是這個Activity的名字,有多是別名的名字,例如:在AndroidMenifest.xml有以下配置: 設計
<activity android:name=".TestActivity" android:icon="@drawable/icon1"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
<activity-alias android:name="TestActivityAlias" android:targetActivity="TestActivity" android:label="testActivitylias" android:icon="@drawable/icon2222"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias>
這個應用會在桌面上建兩個進入點,即建兩個能夠進入TestAndroid這個Activity的快捷圖標。一個是icon,一個是icon222,這個時候getIntent().getComponent().getClassName() 獲得的名字就不同,一個是com.test.TestActivity,一個是com.test.TestActivityAlias。 code
android.intent.action.MAIN 決定應用程序最早啓動的Activity android.intent.category.LAUNCHER 決定應用程序是否顯示在程序列表裏