Android(java)学习笔记62:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 理解

1. 先看看网路上的说法:

    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 01Lift_cycles 02
 1 <activity android:name=".Life_CyclesActivity"  
 2           android:label="Lift_cycles 01">  
 3     <intent-filter>  
 4         <action android:name="android.intent.action.MAIN" />  
 5         <category android:name="android.intent.category.LAUNCHER" />  
 6     </intent-filter>  
 7 </activity>  
 8 <activity android:name="Life_CyclesActivity02"  
 9           android:label="Lift_cycles 02">  
10      <intent-filter>  
11         <action android:name="android.intent.action.MAIN" />  
12         <category android:name="android.intent.category.LAUNCHER" />  
13       </intent-filter>  
14 </activity>  

原文地址:https://www.cnblogs.com/hebao0514/p/4632121.html