理解android.intent.action.MAIN 與 android.intent.category.LAUNCHER
剛纔看了一下sundy的視頻《LLY110426_Android應用程序啓動》,裏面講到luncher這個activity經過獲取應用程序信息來加載應用程序,顯示給用戶,其中就是經過一個應用程序中的AndroidManifest.xml中的聲明來識別的。android
其中android.intent.action.MAIN 與 android.intent.category.LAUNCHER 決定應用程序在luncher中的顯示方式;app
二者的做用以下:eclipse
android.intent.action.MAIN決定應用程序最早啓動的Activityide
android.intent.category.LAUNCHER決定應用程序是否顯示在程序列表裏
spa
因此:.net
若是隻有一個activity的應用程序只聲明瞭 android.intent.action.MAIN ,沒有聲明 android.intent.category.LAUNCHER,eclipse運行是將報錯:orm
若是存在多個activity都聲明瞭android.intent.action.MAIN與android.intent.category.LAUNCHER會出現什麼狀況呢?------------------將會有多個圖標顯示在桌面上。視頻
驗證以下,新建工程,其中AndroidManifest.xml以下
xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android4" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.android4.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.android4.MainActivity_Copy" android:icon="@android:drawable/btn_star" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
桌面顯示結果爲: