背景:
在体验三星手机的分屏相关功能时候,发现三星手机的分屏分割线上,点击后有一个类似收藏的图标。刚开始其实还不知道这个收藏图标的具体功能,然后进行了相关的一些功能体验,体验后发现本质上这个收藏功能可以总结一句话就是“为分屏的两个task一起启动创建一个快捷方式图标到桌面”,因为平时启动分屏都是需要用户到桌面启动需要分屏的两个task,然后最近任务中选着split task1,然后在选择split task2.
所以收藏图标的作用就是针对当前分屏的两个task如果是经常会进行分屏使用情况,比如:学习视频app + notepad记事本app,这种可能经常要一起使用的,就可以进行收藏到桌面,也就是创建一个快捷方式,后续就只需要去桌面点击快捷方式就可以把两个task分屏启动,节省用户进入分屏的步骤。
那么下面将针对三星的这个分屏收藏功能进行相关详细的调研和实战实现。
三星分屏的收藏功能产品详细调研部分
首先任意选择两个app进行分屏,然后点击分割线DividerView
发现有一个上下分屏互换图标和一个收藏图标
点击收藏图标,会弹出一个dialog询问你是需要创建在桌面上还是在edge
panel侧边栏。
点击选择桌面后,发现桌面桌面有个分屏的App图标
在桌面进行点击后,发现可以直接启动快捷方式启动分屏
如何实现三星这个分屏收藏功能
上面已经对三星的分屏收藏功能进行详细的调研,下面我们自己手机设备如果要实现一个这样的收藏功能应该怎么做呢?
实现分屏收藏功能涉及流程有如下几个:
1、分屏DividerView部分需要提供点击后收藏图标的展示
2、点击收藏图标后,需要获取上下分屏的task对应ActivityRecord的componentName,position,分屏比例ratio等,并且弹出选择dialog
3、把第二步获取相关数据通过跨进程方式传递到Launcher或者edge panel等进程
4、桌面接收到了跨进程传递来的数据后,进行保存,构造出对应的桌面图标,并且为这个图标新建立一个type类型,点击这个type图标后就是直接会调用相关的分屏启动接口,接口需要的数据比如taks的id或者componentName等,position,ratio等就是保存的数据。
5、第四步接口会调用到systemui进程的进行启动分屏。
总结实现流图如下:
马哥最后实现实战如下(相关实现源码vip学员可以私聊马哥或者vip群中讨论):
原文地址:
https://mp.weixin.qq.com/s/y8cYMA6hjQNjJM79ysYhPg
更多fw实战开发干货,请关注下面“千里马学框架”