理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER

刚才看了一下sundy的视频《LLY110426_Android应用程序启动》,里面讲到luncher这个activity通过获取应用程序信息来加载应用程序,显示给用户,其中就是通过一个应用程序中的AndroidManifest.xml中的声明来识别的。

其中Android.intent.action.MAIN 与 android.intent.category.LAUNCHER 决定应用程序在luncher中的显示方式;

两者的作用如下:

android.intent.action.MAIN决定应用程序最先启动的Activity

android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里

所以:

如果只有一个activity的应用程序只声明了     
android.intent.action.MAIN ,没有声明     
 android.intent.category.LAUNCHER,eclipse运行是将报错:

理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER

如果存在多个activity都声明了android.intent.action.MAIN与android.intent.category.LAUNCHER会出现什么情况呢?------------------将会有多个图标显示在桌面上。

验证如下,新建工程,其中AndroidManifest.xml如下

<?xml version="1.0" encoding="utf-8"?>
<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:drawable/btn_star" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application> </manifest>
桌面显示结果为:

理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER

上一篇:git 使用过程(一、准备工作)


下一篇:【Hook技术】实现从"任务管理器"中保护进程不被关闭 + 附带源码 + 进程保护知识扩展