第一种情况:有MAIN,无LAUNCHER,程序列表中无图标
原因:android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
第二种情况:无MAIN,有LAUNCHER,程序列表中无图标
原因:android.intent.action.MAIN决定应用程序最先启动的Activity,如果没有Main,则不知启动哪个Activity,故也不会有图标出现
下面看一个应用程序可以有两个Activity的情况
- <?xml version=“1.0” encoding=“utf-8”?>
- <manifest xmlns:android=“http://schemas.android.com/apk/res/android”
- package=“com.studio.android”
- android:versionCode=“1”
- android:versionName=“1.0” >
- <uses–sdk android:minSdkVersion=“10” />
- <application
- android:icon=“@drawable/ic_launcher”
- >
- <activity
- android:name=“. Lift_cycles 01“
- android:label=“@string/app_name1” >
- <intent–filter>
- <action android:name=“android.intent.action.MAIN” />
- <category android:name=“android.intent.category.LAUNCHER” />
- </intent–filter>
- </activity>
- <activity
- android:name=“.Lift_cycles 02 “
- android:label=“@string/app_name2” >
- <intent–filter>
- <action android:name=“android.intent.action.MAIN” />
- <category android:name=“android.intent.category.LAUNCHER” />
- </intent–filter>
- </activity>
- </application>
- </manifest>
只有最前面的Activity的 <action android:name=”android.intent.action.MAIN”/> 有效,启动该程序时,执行的是该Activity,而因为两个activity同时设定,所以会出现两个图标,如下图:
转载请注明:尼古拉斯.赵四 » Android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解