理解android.intent.action.MAIN 與 android.intent.cate

剛纔看了一下sundy的視頻《LLY110426_Android應用程序啓動》,裏面講到luncher這個activity經過獲取應用程序信息來加載應用程序,顯示給用戶,其中就是經過一個應用程序中的AndroidManifest.xml中的聲明來識別的。android

其中Android.intent.action.MAIN 與 android.intent.category.LAUNCHER 決定應用程序在luncher中的顯示方式;app

二者的做用以下:eclipse

android.intent.action.MAIN決定應用程序最早啓動的Activity

   android.intent.category.LAUNCHER決定應用程序是否顯示在程序列表裏
  因此:

           若是隻有一個activity的應用程序只聲明瞭      android.intent.action.MAIN ,沒有聲明       android.intent.category.LAUNCHER,eclipse運行是將報錯:


  若是存在多個activity都聲明瞭android.intent.action.MAIN與android.intent.category.LAUNCHER會出現什麼狀況呢?------------------將會有多個圖標顯示在桌面上。

驗證以下,新建工程,其中AndroidManifest.xml以下.net

<?xml version="1.0" encoding="utf-8"?>code

<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](http://my.oschina.net/asia):drawable/btn_star" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />


            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>xml

相關文章
相關標籤/搜索