先看看網路上的說法:
android.intent.action.MAIN決定應用程式最先啟動的
Activity android.intent.category.LAUNCHER決定應用程式是否顯示在程式列表裡
通過實驗後,發現有問題?
MAIN 與 LAUNCHER 並不是單純的各管各的事情;
個人認為正確的說法是
我測試的結果是,如果一個應用沒有LAUNCHER則該apk仍能安裝到裝置上,但是在案頭中表徵圖中看不到。如果給那個Activity 設定了LAUNCHER,且同時設定了Main,則這個Activity就可出現在程式表徵圖中;如果沒有Main,則不知啟動哪個Activity,故也不會有表徵圖出現。可見,Main指的是,點擊表徵圖後啟動哪個Activity。當然,Main可以給多個Activity設定,但只設定Main不設定LAUNCHER,仍然無法進入activity。 可見,Main和LAUNCHER同時設定才有意義,如果多個activity同時設定,則會出現兩個表徵圖,分別先進入不同的activity.如:Lift_cycles 01 與 Lift_cycles 02
<activity android:name=".Life_CyclesActivity" android:label="Lift_cycles 01"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="Life_CyclesActivity02" android:label="Lift_cycles 02"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>