Android Launcher开发(六)通过分析Laucher源码整理添加快捷方式的思路

在实际开发中,实际上有很多功能或者设计我们都可以借鉴一下安卓源码, 在我写的这个Laucher系列里,就关于分析Laucher源码来开发桌面快捷方式的思路我大概整理了一下. 希望大家看了之后再遇到类似的情况不是上来直接借用别人的代码,而是能够借助别人的代码或者系统源码分析原理,这样才能真正学到东西. 最关键的是,开发中我们往往会遇到一些特定的问题,这些是别人的代码无法帮你直接解决的. 只要我们懂得原理,很多问题就可以迎刃而解.

具体分析如下:


1. 关于源码中添加桌面快捷方式的UML时序图(Sequence Diagram)分析,我使用的是StartUml:




2. 有兴趣的朋友可以直接根据上图对照源码整理系统应用Laucher添加ShortCut的流程

在此我就不详细描述


需要我们去实现的部分是:

上图中的第二步和第四步.

其中第二步的 checkIntentFilter(String SHORTCUT_NAME)

需要我们在AndroidManifest文件中添加intentfilter 和对应的权限(注意,此处的权限是安卓系统应用自定义的权限,以com.android开头)


第七步completeAddShortCut()

需要我们调用目标Activity,在onCreate()方法中进行实现: 设置快捷方式的图标,名字,意图,创建关联关系等等


具体的实现我已经在之前的两篇博客中详细介绍:

Android 开发之系统应用Launcher详解,简单添加和删除快捷方式及常见问题

http://blog.csdn.net/t12x3456/article/details/7857925


Android Launcher开发之自动添加桌面快捷方式及实际开发中常见问题的解决方案

http://blog.csdn.net/t12x3456/article/details/7858318




你可能感兴趣的:(android,UML)