android.intent.action.MAIN
決定應用程序最先啟動的Activity
android.intent.category.LAUNCHER
決定應用程序是否顯示在程序列表里
在網上看到文章
android.intent.action.MAIN 與 android.intent.category.LAUNCHER
一直知道加上這2個東西就表示程序啟動時最先啟動的Activity上網查了下這么說的:
android.intent.action.MAIN決定應用程序最先啟動的
activity android.intent.category.LAUNCHER決定應用程序是否顯示在程序列表里
如果只有一個activity的應用程序只聲明了 android.intent.action.MAIN ,沒有聲android.intent.category.LAUNCHER,eclipse運行是將報錯:
但是在桌面中圖標中找不到
如果一個應用沒有LAUNCHER則該apk仍能安裝到設備上,但是在桌面中圖標中看不到。如果給那個Activity 設定了LAUNCHER,且同時設定了Main,則這個Activity就可出現在程序圖標中;如果沒有Main,則不知啟動哪個Activity,故也不會有圖標出現。
所以啊~~main和launcher必須一起出現,
如果存在多個activity都聲明了android.intent.action.MAIN與android.intent.category.LAUNCHER會出現什么情況呢?------------------將會有多個圖標顯示在桌面上。
我又閑的試了試給2個Activity都加入了main和launcher
發現你的哪個Activity在前面哪個就先啟動,而在程序列表里有2個程序圖標分別運行,顯示的結果可想而知,分別是那兩個Activity,就是兩個圖標。
代碼如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xunfang.demo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:icon="@android:drawable/stat_notify_call_mute" android:name=".Second" android:label="我是副界面" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:icon="@android:drawable/ic_input_add" android:name=".MainActivity" android:label="我是主界面" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>