Android 10.0 当系统内置两个Launcher时默认设置Launcher3以外的那个Launcher为默认Launcher

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,ResolveListAdapter根据会传入的List初始化一个List mList ,用户的点击事件都会在ResolveListAdapter获取数据。
用户点击”ALWAYS”的事件发生在ResolverActivity的onBu

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/132031663