Android在保留原launcher程序前提下,将应用设为默认Launcher
2018-03-28 13:45
429 查看
将应用设为Launcher很简单,只需在AndroidManifest.xml文件中添加以下两条属性即可:
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
然而这样设置之后,系统就有了多个launcher程序,在没有默认launcher之前,启动launcher时都会弹出对话框给用户选择,用户需要选择自己的应用并选择always,才能将自己的应用设为默认Launcher。
为了避免这次多余的选择,我们可以通过修改Framework层代码来优先启动自己的launcher。
首先,在AndroidManifest.xml中再添加一条属性,用来将自己的launcher程序和其他launcher区分开来,如:
<category android:name="android.intent.category.rayland.home" />
然后,修改android/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java,优先筛选有rayland.home属性的launcher,若没有则再筛选普通launcher。
这样改完之后,系统开机启动时会优先启动带特殊标识的launcher。但home按键按下后仍会弹出选择对话框,修改android/frameworks/base/core/java/com/android/internal/app/ResolverActivity.java,同样优先筛选有rayland.home属性的launcher,若没有则再筛选普通launcher。
这样修改完之后,只要安装了带特定属性的Launcher,在启动和跳转launcher时,都只会跳转到我们指定的launcher。
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
然而这样设置之后,系统就有了多个launcher程序,在没有默认launcher之前,启动launcher时都会弹出对话框给用户选择,用户需要选择自己的应用并选择always,才能将自己的应用设为默认Launcher。
为了避免这次多余的选择,我们可以通过修改Framework层代码来优先启动自己的launcher。
首先,在AndroidManifest.xml中再添加一条属性,用来将自己的launcher程序和其他launcher区分开来,如:
<category android:name="android.intent.category.rayland.home" />
然后,修改android/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java,优先筛选有rayland.home属性的launcher,若没有则再筛选普通launcher。
这样改完之后,系统开机启动时会优先启动带特殊标识的launcher。但home按键按下后仍会弹出选择对话框,修改android/frameworks/base/core/java/com/android/internal/app/ResolverActivity.java,同样优先筛选有rayland.home属性的launcher,若没有则再筛选普通launcher。
这样修改完之后,只要安装了带特定属性的Launcher,在启动和跳转launcher时,都只会跳转到我们指定的launcher。
相关文章推荐
- 把自己的应用设置关联为android系统默认打开程序
- android Launcher3 设置默认桌面应用
- Android4.4 Framework分析——Android默认Home应用Launcher3的加载过程分析
- Android应用框架之Home程序(Launcher)
- android Launcher3 设置默认桌面应用
- Android4.2 使preinstall中的所有应用正常显示在launcher的默认布局中
- android ROM设置默认Launcher(主屏幕应用)
- android ROM设置默认Launcher(主屏幕应用)
- android ROM设置默认Launcher(主屏幕应用)
- Android4.2 使preinstall中的所有应用正常显示在launcher的默认布局中
- Android中实现静态的默认安装和卸载应用
- android从应用到驱动之—camera(1)---程序调用流程
- android:在一个应用中创建其它应用的快捷启动方式Launcher
- Android系统默认Home应用程序(Launcher)的启动过程源码分析
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- Android 开发之系统应用Launcher详解,简单添加和删除快捷方式及常见问题
- Android eclipse 运行项目设置程序默认安装到SD卡
- 说说Android桌面(Launcher应用)背后的故事(九)——让我的桌面多姿多彩
- Android中源码Launcher主屏幕程序排列详解【安卓Launcher进化一】
- Android中源码Launcher主屏幕程序排列详解【安卓Launcher进化一】