android MAIN/LAUNCHER

       一个应用程序可以有多个Activity,每个Activity是同级别的,那么在启动程序时,最先启动哪个Activity呢?有些程序可能需要显示在程 序列表里,有些不需要。怎么定义呢? android.intent.action.MAIN决定应用程序最先启动的Activity , android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里。Main和LAUNCHER同时设定才有意义。  网上的说法:   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>

 

   详解:http://blog.csdn.net/lamp_zy/article/details/8036175

 

猜你喜欢

转载自mnieguomin.iteye.com/blog/2102740