Android launcher版本的变化

Android 8.1 Launcher3

1、Android 8.1 Launcher3 相对于之前 Android N 版本,有了较大的变化。Android 8.1 增加了通知小圆点、切换图标形状、图标加速度、DeepShortcut 等新特性。

2、Android 8.1 新增了 Go 版本,对应 Launcher3 来说,可以单独编译 Launcher3 Go 版本,Go版本去掉了通知小圆点功能、图标加速度等功能。

3、Google 在 Android 8.1 开始将壁纸的设置从 Launcher3 中独立出来,作为一个新的模块。
位于/packages/apps/WallpaperPicker
该 WallpaperPicker 内部的主要逻辑与之前 Launcher3/WallpaperPicker 中的基本保持一致,只新添加了对 bmp 格式壁纸的支持,优化了部分代码逻辑。

Android 9.0 Launcher3

1、Android 9.0 Launcher3 相对于之前 Android O 版本,有了较大的变化。Android 9.0 Launcher3 又增加了 Quickstep、LauncherNoQsb 等新形态。

2、quickstep 形态,即最近任务功能集成在 Launcher3,之前近期任务在systemUI

Android 10 Launcher3

1、Android 10 Launcher3 相 对 于 Android 9 版 本 , 增 加 了 针 对低内存设备 Go版本 的Launcher3GoIconRecents 形态,recent UI界面只显示小图标和应用标题,减少内存消耗。

2、从 Android 10 开始,用户可以在设置中启用手势导航,替代设备中的虚拟或实体按键,完成返回、回到待机界面、进入最近任务等操作

Android 10-Go 版本相比 Android 10 No-Go 版本主要存在差异:
关闭长按应用图标弹出菜单
禁止小部件(Widget)及快捷方式(DeepShortCut)  关闭通知小圆点功能
Recents UI 使用 Launcher3GoIconRecents 形态
无负一屏功能
都是通过编译不同形态的launcher目录代码实现,也可以手动打开,会增加Go版本设备内存消耗。

Android 11.0 Launcher3

1、Launcher3GoIconRecents 是 Google 针对 Android 10.0-Go 新增加的标准形态,由于此形态不支持手势功能,Android 11.0 中移除了此形态,使用 Launcher3QuickStepGo 形态

2、Android 11.0 对最近任务界面做了微调,增加了任务截屏功能,不再显示 Hotseat 与搜索框。

vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java的mHandler中处理截图请求。
之前遇到项目自定义了系统截图,没有完全支持原生的3种截图类型,导致桌面recent UI里的截图一直失败。

frameworks/base/core/java/android/view/WindowManager.java中的“3”对应。

	/**
     * Message for taking fullscreen screenshot
     * @hide
     */
    int TAKE_SCREENSHOT_FULLSCREEN = 1;

    /**
     * Message for taking screenshot of selected region.
     * @hide
     */
    int TAKE_SCREENSHOT_SELECTED_REGION = 2;

    /**
     * Message for handling a screenshot flow with an image provided by the caller.
     * @hide
     */
    int TAKE_SCREENSHOT_PROVIDED_IMAGE = 3;

3、Android 11.0 上增加了文件夹名称推荐功能,当拖动两个图标生成文件夹时,会自动推荐生成文件夹图标的名字。

4、Android 11.0上优化了recent UI和all apps上滑呼出手势判断问题
10.0的时候,上滑停顿会显示recent UI界面动画,然后判断up的点决定进入all apps还是recentUI,会出现上滑recent UI界面显示,继续上滑recent UI隐藏,进入all apps的问题。
手势区分不是很清楚,导致很多时候想进入all apps,需要较大的速度或者位移。

11.0优化了recent UI呼出限制,只有在屏幕底部上滑才会进入recent UI;在屏幕中间上滑进入all apps,使手势更加清晰

5、Android 11.0 将 Android 10.0 中的设置->系统->高级->开发者选项->“图标形状”这项移除。新的入口功能暂未开启,但是仍然可以通过以下 RRO 的方式对默认图标形状做定制。

修改图标形状,需要同步修改framework下面的config
frameworks/base/core/res/res/values/config.xml
cts会检测图标形状可这个bool值是否是圆形。

    <!-- Flag indicating whether round icons should be parsed from the application manifest. -->
    <bool name="config_useRoundIcon">false</bool>

Android 12.0 Launcher3

1、Android 12.0 上 Launcher widget列表展示形式修改
之前直接列出所有widget,现在只列出应用图标和标题,点击展开每个应用具体的widget列表,应用安装比较多时方便用户

2、widget列表添加搜索功能,widget增加圆角

3、Android 12.0 对 Go 版本最近任务界面做了微调,增加了 NIU 按钮:
Listen:大声朗读屏幕上的内容。
Translate:翻译屏幕的内容。
4、Android 12.0 在 Go 版本上允许开启 P2P APP Sharing 功能

gms包2022年4月

Android 12 支持了app prediction。
开启此功能后,app list、widget list、hotseat都会有相应的行为。具体见https://blog.csdn.net/a396604593/article/details/126060850

你可能感兴趣的:(launcher,android,java,apache)