1.概述
在10.0定制化开发中,由于产品开发需要要求系统内置两个Launcher,一个是Launcher3,一个是自己开发的Launcher,当系统启动Launcher时,
不要弹出Launcher选择列表 选择哪个Launcher要求默认选择自己开发的Launcher作为默认Launcher,关于选择Launcher列表
其实都是在ResolverActivity.java中处理的具体看下代码分析解决问题
2.当系统内置两个Launcher时默认设置Launcher3以外的那个Launcher为默认Launcher的核心代码
frameworks\base\core\java\com\android\internal\app\ResolverActivity.java
3.当系统内置两个Launcher时默认设置Launcher3以外的那个Launcher为默认Launcher的功能分析
在framework中,关于系统内置多个同类型的app时,在系统启动时,主要是在ResolverActivity.java来弹出选择启动列表,让用户选择启动
ResolverActivity.java中相关代码分析,在这个类里面主要是让用户选择启动哪个同类型的app,
此类中有一个内部类ResolveListAdapter该类继承自BaseAdapter,该类是Home app选择界面的数据适配器。
ResolveListAdapter会在ResolverActivity的onCreate方法中被初始化并会传入一个ResolveInfo类型的List,ResolveList
本文介绍在Android 10.0中,如何在系统内置两个Launcher(Launcher3和自定义Launcher)的情况下,不弹出选择列表,默认设置自定义Launcher为默认启动器。关键在于分析ResolverActivity.java的源码,通过调整ResolveListAdapter的构建过程,过滤掉Launcher3,从而实现默认启动自定义Launcher的目标。
订阅专栏 解锁全文
5001

被折叠的 条评论
为什么被折叠?



