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

1.概述

在9.0系统rom定制化开发中,由于产品开发需要要求系统内置两个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的onButto

相关推荐

  1. 默认launcher

    2024-01-18 20:52:02       31 阅读
  2. Android设置三方应用默认Launcher

    2024-01-18 20:52:02       59 阅读
  3. Android系统Launcher应用是被谁启动

    2024-01-18 20:52:02       23 阅读
  4. Android APP转成launcher

    2024-01-18 20:52:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-18 20:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-18 20:52:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-18 20:52:02       82 阅读
  4. Python语言-面向对象

    2024-01-18 20:52:02       91 阅读

热门阅读

  1. iOS长按时无法保存图片问题解决方案

    2024-01-18 20:52:02       83 阅读
  2. 力扣79. 单词搜索

    2024-01-18 20:52:02       55 阅读
  3. SQL-01求连续七天登陆的用户

    2024-01-18 20:52:02       47 阅读
  4. linux-等保三级脚本(1)

    2024-01-18 20:52:02       44 阅读
  5. Android 启动页白屏优化

    2024-01-18 20:52:02       67 阅读
  6. What is `XSS` does?

    2024-01-18 20:52:02       54 阅读
  7. C#将货币金额数字转大写汉字

    2024-01-18 20:52:02       50 阅读