一个应用程序可以有多个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
分享到:
相关推荐
Android Launcher 开发指南 Android Launcher 是 Android 操作系统中的桌面应用程序,负责管理桌面图标、widget 和其他桌面元素。下面我们将一步步指导您如何开发一个自己的 Launcher,並使其替代系统的默认 ...
同时,我们还需要了解 Android 系统的启动过程,包括 Linux Kernel 的启动、App_main 进程的初始化、zygote 的 fork 过程、Activity Manager 的启动等。只有了解这些基础知识,我们才能开发出一个功能强大且美观的 ...
4. **布局文件(Layout)**: Launcher2的UI由XML布局文件定义,如`main.xml`,其中包含了桌面图标网格、滑动抽屉等元素。通过自定义视图和布局,可以实现各种交互效果。 5. **服务(Service)**: 例如`...
- 主Activity(Launcher)在系统启动后被启动,通过 Intent ACTION_MAIN 和 CATEGORY_HOME 标识。 **Widget 添加过程** - 用户长按桌面空白区域,触发 onLongClick 事件。 - Launcher::showAddDialog 显示添加...
同时,还需要设置`android.intent.action.MAIN`动作,表明这是应用的入口点。 在创建自定义启动器时,开发者需要考虑以下几个关键点: 1. **布局设计**:根据桌面模式的需求,设计适合大屏幕的布局,如网格状的...
在Android系统中,Launcher是用户界面的核心组成部分,它允许用户启动应用程序、管理桌面快捷方式以及自定义主屏幕布局。本文将深入探讨如何在Android中实现Launcher功能,特别是添加快捷方式的部分。 首先,我们...
Android TV Launcher源码分析 Android TV Launcher是Android操作系统在电视设备上显示的主屏幕界面,它负责展示和管理用户的应用、频道和其他内容。对于初学者来说,深入理解Android TV Launcher的源码是学习...
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> <category android:name=...
3. **布局文件**:Launcher界面由多个XML布局文件定义,例如`res/layout/main_launcher.xml`,其中包含网格视图(GridView)或RecyclerView来展示应用图标。这些布局文件需要根据需求定制,例如更改图标大小、间距...
3. Intent过滤器:Launcher通过Intent过滤器监听特定类型的Intent,如ACTION_MAIN和CATEGORY_LAUNCHER,以便响应用户的启动请求。 四、Launcher的特性与功能 1. 主题支持:许多Launcher支持更换主题,改变界面颜色...
Android的Launcher3是Android系统默认主屏幕应用的源代码,主要负责桌面图标、小部件以及应用抽屉的显示和管理。在Android 4.4.2版本中,它提供了用户与系统交互的基本界面。理解并分析Launcher3的源码对于开发者来...
2. **布局文件**: Launcher的UI主要通过XML布局文件定义,如`res/layout/main.xml`。这些文件定义了主屏幕的网格布局,包括图标、快捷方式和小部件的排列。 3. **数据模型**: Launcher需要存储和管理应用程序信息、...
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> ``` 这样...
在`res`目录下,你会找到布局文件(如`activity_main.xml`)定义了Launcher的用户界面。`values`目录包含颜色、字符串和样式资源。`AndroidManifest.xml`定义了应用的元数据,包括权限、组件声明等。 关键组件主要...
3. **布局文件**: 如`res/layout/main.xml`定义了Launcher的UI结构,包括网格视图、抽屉视图等。开发者可以通过修改这些XML文件来调整Launcher的外观和行为。 4. **数据存储**: Launcher可能会使用SQLite数据库来...
通常只包含那些声明了特定Intent Filter的活动(如 `<action android:name="android.intent.action.MAIN" />` 和 `<category android:name="android.intent.category.LAUNCHER" />`)。 三、Launcher工作原理 ...
3. `<intent-filter>`:定义了 Activity 能响应的 Intent 类型,如 ACTION.MAIN 和 CATEGORY.LAUNCHER 表示这是应用的主入口点。 4. `<uses-permission>`:声明应用需要使用的权限,例如读取联系人、网络访问等。 ...
Android的界面布局是通过XML文件定义的,`TestPagedView`可能包含了一些定义桌面布局的XML文件,如`activity_main.xml`,其中定义了`ViewPager`的布局和样式。 10. **测试与调试**: 为了确保分页滑动功能的正确...
系统启动后,App_main进程初始化Android运行时环境,zygote进程作为所有Android应用和服务的父进程。SystemServer启动并管理各种系统服务,包括Activity Manager Service(AMS),负责管理Activity的启动、暂停、...