Launcher俗称HomeScreen,也就是我们启动Android手机,第一眼看到的应用程序,而这个应用程序是比较特殊而且任务艰巨的。

它负责了我们除了应用本身操作以外的所有操作,它负责了我们有几个桌面,点击应用图标启动应用程序,长时间按桌面出现上下文菜单,

长时间按桌面的图标出现垃圾箱,拖动应用图标重新定位等等,一系列的操作。我将截些图让大家更容易理解!

   

图1:开机画面,Laucher的主界面                 图2:打开抽屉,列出所有我们的所安装应用

 

图三:长按图标,抽屉变成垃圾箱了                        图四:手指向左滑动进入另一个桌面

我就先截这几个图让大家感受感受,图2中我们列出的所有应用并不包括诸如:Launcher,Widget等应用,是因为我们我们列出的应用仅仅是在AndroidManifest.xml配置文件有这样标记的应用(如下代码:)

view plain copy to clipboard print ?
  1. <activity android:name=".HomeStyle"
  2. android:theme="@android:style/Theme.NoTitleBar"
  3. android:label="@string/app_name">
  4. <intent-filter>
  5. <action android:name="android.intent.action.MAIN" />
  6. <category android:name="android.intent.category.LAUNCHER" />
  7. </intent-filter>
  8. </activity>

<activity android:name=".HomeStyle" android:theme="@android:style/Theme.NoTitleBar" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

其中第5,6行是关键,有了这两句,你的应用程序才会被列出,而Launcher特殊就是这个应用中唯一一个Activity是这样申明的,如下代码:

view plain copy to clipboard print ?
  1. <activity
  2. android:name="Launcher"
  3. android:launchMode="singleTask"
  4. android:clearTaskOnLaunch="true"
  5. android:stateNotNeeded="true"
  6. android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
  7. android:screenOrientation="nosensor"
  8. android:windowSoftInputMode="stateUnspecified|adjustPan">
  9. <intent-filter>
  10. <action android:name="android.intent.action.MAIN" />
  11. <category android:name="android.intent.category.HOME"/>
  12. <category android:name="android.intent.category.DEFAULT" />
  13. <category android:name="android.intent.category.MONKEY" />
  14. </intent-filter>
  15. </activity>

<activity android:name="Launcher" android:launchMode="singleTask" android:clearTaskOnLaunch="true" android:stateNotNeeded="true" android:theme="@android:style/Theme.Wallpaper.NoTitleBar" android:screenOrientation="nosensor" android:windowSoftInputMode="stateUnspecified|adjustPan"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.MONKEY" /> </intent-filter> </activity>

这里第11行起了作用了,大家看出来Launcher与普通应用程序的区别了吗,变成Home的时候,当我们重新安装一个Launcher的时候,我们按一下手机的HOME键会出现Launcher列表如下图:

   

图5:Launcher列表                                             图6:传说中的Launcher2

转载于:https://blog.51cto.com/zhoujiyu/474876

Android Launcher研究(二)-----------Launcher为何物,究竟是干什么的?相关推荐

  1. 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用简介 | Launcher 应用源码简介 | Launcher 应用快捷方式图标点击方法分析 )

    文章目录 一. Launcher 应用简介 二. Launcher 应用源码简介 三. Launcher 图标点击方法分析 一. Launcher 应用简介 Launcher 应用 : Android ...

  2. android第三方launcher,目前Android平台最好的Launcher

    由于Blackberry Priv无法Root,也无法刷其他的Room,因此可以折腾的也就只有Launcher了.其实Priv自带Launcher就已经很不错了,尤其是对于某些应用,上滑以预览的方式打 ...

  3. Android系统开机到Launcher启动流程分析

    本文基于Android10.0的源码. 由于google团队在对framework层代码进行大量重构,所以代码变动还是挺大的. 常见基础问题: SystemServer系统服务进程是如何创建的?Lau ...

  4. android开发出现No Launcher activity found!解决方案

    android开发出现No Launcher activity found!解决方案 参考文章: (1)android开发出现No Launcher activity found!解决方案 (2)ht ...

  5. android+主界面所有应用程序图标添加统一背景主题,Android 4.0替Launcher主界面所有应用程序图标添加统一背景主题...

    当前位置:我的异常网» Android » Android 4.0替Launcher主界面所有应用程序图标添加 Android 4.0替Launcher主界面所有应用程序图标添加统一背景主题 www. ...

  6. Android 系统(247)---Android Go项目, Launcher no Notification Dots

    Android Go项目,Launcher默认关闭此feature.如果需要此feature,请按照如下修改 1. /vendor/mediatek/proprietary/packages/apps ...

  7. android自定义桌面(launcher)

    有时候需要开发一个自己的桌面程序,特别是做产品开发的开发人员,android自定义桌面其实就是一个launcher,然后在相应的activity中把系统中的所有APK加载进来,显示相应的icon图标. ...

  8. 安卓 linux launcher,关于android使用自己的launcher替换默认launcher的方法

    关于android使用自己的launcher替换默认launcher的方法 发布时间:2020-07-19 19:14:43 来源:51CTO 阅读:1274 作者:GaoNeil 关于android ...

  9. Android Automotive (二)系统架构

    Android Automotive (二)系统架构 前面简单介绍了一下Android Automotive 的架构,具体Android Automotive 在系统的每个层,都做了哪些东西,这里总结 ...

最新文章

  1. C++ 多线程:时间控制
  2. oracle 语法分析表,Oracle 语句优化分析说明
  3. gis影像格式img转为ecw_微图影像地图导出拼接大图的参数说明
  4. WebRTC 及点对点网络通信机制
  5. linux命令 重定向%3e,linux输出信息调试信息重定向
  6. RS-485中继器的多种使用方法
  7. 靶场练习第十天~vulnhub靶场之dc-2
  8. 个人阅读作业 The Last
  9. SOA,RMI,RPC,SOAP,REST等名称的理解
  10. 【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)
  11. zend studio【快捷键】
  12. 【SPOJ - NSUBSTR】Substring(统计长度为x的子串最多出现的次数--后缀自动机)
  13. 微信小程序学习笔记-(10)-猫眼电影案例
  14. 洪恩机器人课程提示_【重要提示】全国儿童机器人等级考试报名启动!
  15. 电子商务之部分名词解释
  16. linux445端口是什么,端口445怎么关 445端口是什么服务 445病毒是什么
  17. 爱的能力(徐博客写的-收藏下)
  18. 病毒分析与防护实验3—— 反汇编工具(Ollydbg)的使用
  19. 亲身体验:八款知名虚拟主机对比测评
  20. 微信页面触发返回按钮回到聊天界面

热门文章

  1. vue中使用XLSX导出多表头/单表头表格,开箱即用。
  2. Android本地视频播放器开发 - 搜索本地视频(1)
  3. Flask——migrate实现数据库迁移
  4. 各个品牌常见机型的手动进入Recovery的方法
  5. 使用red5+adobe flash media live encoder搭建存储、流媒体服务器
  6. 互联网大佬与星座:竟然四分之一都是这个星座!
  7. 什么是ifttt,ifttt怎么玩?
  8. android studio有时候r.id找不到,Android Studio:R.id.editText中的错误
  9. 【bzoj4300】绝世好题
  10. 《密道跟踪》中国最强盗墓影片