/packages/apps/Launcher/res/xml/default_workspace.xml中记录了系统初始化或者恢复出厂设置时桌面上图标的排列。Launcher程序第一次运行完毕以后,会在/data/data/com.android.launcher/databases/launcher.db中创建记录,里面有所有当前的桌面图标。以后每次启动只会从这里读取桌面图标。

下面简单分析一下default_workspace.xml:

default_workspace.xml中,支持的标签有:

favorite:应用程序快捷方式。

shortcut:链接,如网址,本地磁盘路径等。

search:搜索框。

clock:桌面上的钟表Widget

支持的属性有:

launcher:title,图标下面的文字,目前只支持引用,不能直接书写字符串。

launcher:icon,图标引用。

launcher:uri,链接地址。

launcher:packageName,应用程序的包名。

launcher:className,应用程序的启动类名。

launcher:screen,图标所在的屏幕编号。

launcher:x,图标在横向排列上的序号。

launcher:y,图标在纵向排列上的序号。

LauncherProvider.java里面的loadFavorites方法负责解析。

应用程序的写法,default_workspace.xml中有很多,对链接的写法却没有,我分析了一下它的解析程序,反向做出了链接快捷方式的写法,已经验证成功,希望可以帮到大家。

<shortcut

launcher:title="@string/aaa"

launcher:icon="@drawable/aaa"

launcher:uri="http://www.aaa.com"

launcher:screen="1"

launcher:x="0"

launcher:y="3" />

链接的图标内容和文字内容是从default_workspace.xml中获取到的。

应用程序的图标内容和图标下面的文字内容都是从PackageManager中获取到的。

如果Launcher启动时,应用程序的包名和类名因为某种原因没有在PackageManager中找到,桌面就不会显示它的图标。如果类名和包名找到了,但是图标没有找到,会显示Android默认的小机器人图标。

所以,要在default_workspace.xml中加入锭接时,只要写上title,icon,uri,screen,x,y这几个属性就可以了。

而要加入应用程序时,只要写上packageName,className,screen,x,y这几个属性就可以了。

如何修改Android系统内置的桌面图标相关推荐

  1. Android如何动态更换桌面图标(巨坑)

    转载https://blog.csdn.net/pangjl1982/article/details/83308512 1.Android如何动态更换桌面图标 1.1使用场景       APP,在中 ...

  2. Android之动态更换桌面图标

    Android之动态更换桌面图标 文章链接:http://blog.csdn.net/qq_16628781/article/details/69054325 知识点 动态更换APP 桌面icon的引 ...

  3. Android系统内置第三方输入法

    Android系统内置第三方输入法 一.添加APK进系统目录 1.1  package/目录下创建子目录,例如:package/inputmethod/SogouInput 1.2 将下载好的输入法A ...

  4. 【Android】[1]APP桌面图标和显示名字国际化

    前言 接下来几天,我会陆续发一系列文章,本来想起得标题是<一套低可用,难伸缩,低并发的Android APP架构方案设计实践>,过于抽象,还是直接知识点做标题吧,方便以后复习. 前提条件, ...

  5. Android之实现多桌面图标app入口进入不同的页面,像2个独立运行的app一样,互不干扰。

    1.需求 Android实现2个图标app入口进入不同的页面,一个图标点击进去主app页面,一个图标点击直接进入app页面的里面一个子页面,两个图标功能点击效果独立,不能乱跳,副桌面图标然后返回也是直 ...

  6. 魅族系统应用卸载 adb卸载/禁用Android系统内置应用

    1.手机通过USB连接电脑, 择选传输文件 2.手机端通过->设置->关于手机->版本号, 快速点击几次版本号处(Flyme 8.xx)开启开发者模式 3.手机端通过->设置- ...

  7. android删除界面工具,Android手机添加/删除桌面图标和插件(图文)

    基于android系统的手机还是很人性化的,安装容易删除和卸载也不难,朴素的风格下对新手来说刚开始操作还是会有些不适应的. 工具/原料 android手机 方法/步骤 首先还解锁进入手机桌面: 进入桌 ...

  8. Android 点击APP桌面图标启动时黑屏或者白屏

    问题:当APP添加了闪屏页后,可能会出现点击桌面图标启动APP时先黑屏或者白屏后,再显示闪屏页,不利于用户体验. 解决: 1.解决方法很简单,在APP的style资源文件中添加如下代码: <st ...

  9. Android 系统内置APK

    1.在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以KeyTest为例: 2.将KeyTest.apk放入packages/apps/KeyTest下 3.创建An ...

最新文章

  1. errorEruda解决移动端真机调试,bug收集问题
  2. oracle时间格式要注意的问题
  3. Windows APC学习笔记(二)—— 挂入过程执行过程
  4. 《Java 核心技术卷1 第10版》学习笔记------Object类的 equals 方法
  5. 最新emlog媒体范美化版v6.3.1
  6. vos对接ims光猫
  7. 使用spoon对java代码进行转换
  8. 【下载源码】在线生成网页缩略图.超越Snap.com:WebSnap Beta 1.1 发布。感谢博客园的“萧寒”重写的底层。开源。
  9. 国产桌面操作系统到底怎么做才能有戏?
  10. 嵌入式工程师面试知识总结
  11. LNK1104:无法打开文件 “.exe”
  12. 关于评价指标的理解(TPR,FPR,TAR,FAR,FRR,ERR)
  13. 使用EJS脚本实现花生壳动态域名更新服务(一)
  14. CSC 108 Note
  15. 【机器学习入门系列】第三章 数据清理
  16. Conv1d参数与输入数据均无nan,结果出现nan的问题解决
  17. 大数据项目实训总结_大数据分析处理实践的一点心得
  18. DCT-Mask运行问题记录
  19. LeetCode专题
  20. 华为任旭东:通过产业合作加速自动驾驶网络

热门文章

  1. “理想家”冬日献礼福利来袭,20 款豪礼限时梦想值回赠
  2. 幼儿园游戏与设计课程标准
  3. Cocos2d-x中3D相机的使用
  4. 神无月服务器今日维修,神无月进不去怎么办?神无月进不去问题解决一览
  5. BestCoder #92 C (dp)(要学会表示状态啊)
  6. 小程序幻灯片组件swiper使用。
  7. 【51nod1757】大灾变
  8. 坦克大战--Java实现(附源码)
  9. Sql Server 数据库,只复制表结构不复制表数据如何操作?
  10. 数组转换成字符串 join、toString、toLocaleString