一种基于Android操作系统的多窗口界面实现方法技术方案

技术编号:11183067 阅读:116 留言:0更新日期:2015-03-25 12:13
本发明专利技术公开了一种基于Android操作系统的多窗口界面实现方法,所述系统包括包管理服务单元、活动管理服务单元、窗口管理服务单元,所述实现方法包括:用户端启动新的应用窗口,对应的信息发送给活动管理服务单元;活动管理服务单元校验启动权限;活动管理服务单元进行应用窗口的切换;活动管理服务单元启动新的应用;窗口管理服务单元分配位置和大小;窗口管理服务单元显示新的应用窗口。本发明专利技术可实现在Android设备屏幕上面同时显示多个应用窗口,而且用户可以在不退出当前应用的情况下打开新的应用。

【技术实现步骤摘要】

本专利技术涉及移动通讯领域,尤其涉及一种基于Android操作系统的多窗口界面实现方法
技术介绍
目前Android系统的所有应用只能单个窗口全屏显示,也就是说屏幕上不能同时显示两个以上的应用,这样当用户需要从一个应用暂时切换到另一个应用时,必需先退出当前应用,然后再进入到另一个应用,造成很大的不方便,例如当前用户正在看电影,然后收到微信消息,用户想要查看微信消息,则要从状态栏打开微信并退出当前的视频界面,完成微信消息的回复后,需要按返回键才能再次回到视频界面,而此时可能需要重新缓冲视频,整个过程用户体验很差。Android操作系统架构从上层应用到底层内核总共分五层:应用层、应用框架层、核心库层、硬件抽象层、Linux内核层,Android操作系统的基础是Linux操作系统,众所周知Linux系统是支持多进程的操作系统,也就是说可以同时运行多个应用程序,而基于Linux内核开发的桌面系统都是支持多窗口的,由于Android系统最初开发出来是用于手机等小屏的移动终端设备,所以Android系统的在应用框架层的实现上对系统做了限制,使得系统运行时设备屏幕上同时只能有一个应用的界面与用户进行交互。事实上Android系统的依然保留着Linux系统的多进程特性,即从一个应用切换到另一个应用时,表面上看好像是退出了前一个应用,但实际上该应用的进程仍然在后台运行,只是前端的界面被隐藏了,这样,当再次切换到该应用时就不必重新启动进程,从而加快了启动的速度,虽然可以降低应用切换对用户体验的不良影响,但依然没有解决上述现有技术的问题,在手机这种小屏的设备上面,用户也许可以接受这个问题,但是在8寸以上的较大屏的设备上,应该以更好的方式呈现应用窗口,解决该问题。因此,本专利技术对Android系统的应用框架层进行改造,使得其支持多个应用窗口同时显示在设备屏幕上,这样就可以充分利用较大屏的设备屏幕空间,同时解决现有技术所存在的问题。
技术实现思路
本专利技术的主要目的在于提供一种基于Android操作系统的多窗口界面实现方法,可实现在Android设备屏幕上面同时显示多个应用窗口,而且用户可以在不退出当前应用的情况下打开新的应用,给用户一个非常好的操作体验。为实现上述目的,本专利技术提出的一种基于Android操作系统的多窗口界面实现方法,所述系统包括包管理服务单元、活动管理服务单元、窗口管理服务单元,所述实现方法具体包括以下步骤:A、用户端启动新的应用窗口,对应的信息发送给活动管理服务单元;B、活动管理服务单元根据发送过来的信息解析出目标应用信息,校验启动权限,如校验成功,执行步骤C,如校验失败,启动失败;C、活动管理服务单元将目标应用信息告知窗口管理服务单元准备进行应用窗口的切换;D、活动管理服务单元启动新的应用;E、窗口管理服务单元根据新的应用窗口的配置信息为其分配位置和非全屏的大小;F、新的应用在分配的窗口中绘画自己的窗口界面,绘画完成后窗口管理服务单元将新的应用窗口显示出来,启动完成;G、在活动管理服务单元中设置一套管理应用的基础策略,实现应用窗口的应用操作需求。进一步的,步骤A中启动新的应用窗口包括如下步骤:A1、启动系统,调用包管理服务单元,获取当前所有安装的应用包信息列表;A2、提取所有应用包信息中的所有应用图标及其对应的启动相关信息;A3、创建一个从图标到启动相关信息的Map关系列表;A4、创建一个系统窗口并将所有应用图标添加到窗口中;A5、对系统中应用的变化情况监听系统广播;A6、添加一个所有应用按钮到导航栏最左边;A7、若用户点击所有应用按钮,显示装有所有应用图标的系统窗口;若用户点击某个图标,通过图标到启动相关信息的Map关系列表找到该图标对应的启动相关信息;A8、调用活动管理服务单元,启动应用。进一步的,步骤A5所述监听系统广播包括以下步骤:A51、收到系统应用包相关广播,判断广播类型;若广播类型为应用安装,则执行步骤A52;若广播类型为应用卸载,则执行步骤A53,若广播类型为应用升级,则执行步骤A54;A52、根据广播中的包信息调用包管理服务单元,提取新安装的应用包中所有图标及其对应的启动信息,若图标数量大于零,则将这些图标及其对应的启动信息加入到Map关系列表中;若图标数量小于零,则结束监听;A53、根据广播中的包信息删除Map列表关系列表中的所有该包相关的Map元素;A54、根据广播中的新包信息调用PMS提取新的应用包中所有图标及其对应的启动相关信息;遍历Map关系列表,与提取到的图标信息对比;删除在新包中不存在的图标Map元素,添加新包中新的图标及启动相关信息Map元素;A55、根据新的Map关系列表重建系统窗口,结束监听。进一步的,步骤E中窗口管理服务单元根据新的应用窗口的配置信息为其分配位置和大小包括如下步骤:E1、将屏幕固定为横屏模式,将纵坐标值固定为状态栏的高度;E2、判断应用窗口为横屏竖屏的属性,根据窗口属性计算应用窗口宽度和初始横坐标值;E3、设置一套竖屏配置项,当系统启动竖屏应用模式时,拷贝这套竖屏配置项,以实现竖屏的应用强制在横屏上面正常显示。进一步的,步骤E2所述的计算方法包括:E21、计算应用窗口宽度,若应用窗口为竖屏,设置窗口宽度为三分之一横向屏宽;若应用窗口为横屏,设置窗口宽度为三分之二横向屏宽;E22、计算初始横坐标值,设置两个计数器,分别计数自系统启动以来的系统打开过的横屏和竖屏应用窗口的数量,根据计数结果为新的窗口计算一个初始的横坐标,对于拖动窗口,根据当前焦点窗口的大小和位置,来确定新的应用窗口的最终横坐标值”。进一步的,步骤E22所述为新窗口计算初始横坐标的计算方法包括:计数器计数自系统启动以来的系统打开过的横屏和竖屏应用窗口的数量分别为CH和CP,横向屏宽为SW,窗口的初始横坐标为X,若应用窗口若为竖屏,则:X=(CP Mod 3)*1/3SW;若应用窗口若为横屏,则:当(CH Mod 2)=0时,X=0;当(CH Mod 2)=1时,X=1/3SW。进一步的,步骤E22所述最终横坐标值的计算方法包括:E221、获取当前焦点窗口的宽度和横坐标的值;E222、计算当前焦点窗口的宽度是否等于横向屏宽,若是,则焦点窗口为全屏宽,设定应用窗口的初始横坐标值为零;若否,则执行步骤E223;E223、计算应用窗口和当前焦点窗口的宽度是否都等于三分之二横向屏宽,若是,则本文档来自技高网
...
一种基于Android操作系统的多窗口界面实现方法

【技术保护点】
一种基于Android操作系统的多窗口界面实现方法,其特征在于:所述系统包括包管理服务单元、活动管理服务单元、窗口管理服务单元,所述实现方法具体包括以下步骤:A、用户端启动新的应用窗口,对应的信息发送给活动管理服务单元;B、活动管理服务单元根据发送过来的信息解析出目标应用信息,校验启动权限,如校验成功,执行步骤C,如校验失败,启动失败;C、活动管理服务单元将目标应用信息告知窗口管理服务单元准备进行应用窗口的切换;D、活动管理服务单元启动新的应用;E、窗口管理服务单元根据新的应用窗口的配置信息为其分配位置和非全屏的大小;F、新的应用在分配的窗口中绘画自己的窗口界面,绘画完成后窗口管理服务单元将新的应用窗口显示出来,启动完成;G、在活动管理服务单元中设置一套管理应用的基础策略,实现应用窗口的应用操作需求。

【技术特征摘要】
1.一种基于Android操作系统的多窗口界面实现方法,其特征在于:所述系统包括
包管理服务单元、活动管理服务单元、窗口管理服务单元,所述实现方法具体包括以下步
骤:
A、用户端启动新的应用窗口,对应的信息发送给活动管理服务单元;
B、活动管理服务单元根据发送过来的信息解析出目标应用信息,校验启动权限,如
校验成功,执行步骤C,如校验失败,启动失败;
C、活动管理服务单元将目标应用信息告知窗口管理服务单元准备进行应用窗口的切
换;
D、活动管理服务单元启动新的应用;
E、窗口管理服务单元根据新的应用窗口的配置信息为其分配位置和非全屏的大小;
F、新的应用在分配的窗口中绘画自己的窗口界面,绘画完成后窗口管理服务单元将
新的应用窗口显示出来,启动完成;
G、在活动管理服务单元中设置一套管理应用的基础策略,实现应用窗口的应用操作
需求。
2.如权利要求1所述的一种基于Android操作系统的多窗口界面实现方法,其特征
在于,步骤A中启动新的应用窗口包括如下步骤:
A1、启动系统,调用包管理服务单元,获取当前所有安装的应用包信息列表;
A2、提取所有应用包信息中的所有应用图标及其对应的启动相关信息;
A3、创建一个从图标到启动相关信息的Map关系列表;
A4、创建一个系统窗口并将所有应用图标添加到窗口中;
A5、对系统中应用的变化情况监听系统广播;
A6、添加一个所有应用按钮到导航栏最左边;
A7、若用户点击所有应用按钮,显示装有所有应用图标的系统窗口;若用户点击某个
图标,通过图标到启动相关信息的Map关系列表找到该图标对应的启动相关信息;
A8、调用活动管理服务单元,启动应用。
3.如权利要求2所述的一种基于Android操作系统的多窗口界面实现方法,其特征
在于,步骤A5所述监听系统广播包括以下步骤:
A51、收到系统应用包相关广播,判断广播类型;若广播类型为应用安装,则执行步
骤A52;若广播类型为应用卸载,则执行步骤A53,若广播类型为应用升级,则执行步骤A54;
A52、根据广播中的包信息调用包管理服务单元,提取新安装的应用包中所有图标及
其对应的启动信息,若图标数量大于零,则将这些图标及其对应的启动信息加入到Map
关系列表中;若图标数量小于零,则结束监听;
A53、根据广播中的包信息删除Map列表关系列表中的所有与该包相关的Map元素;
A54、根据广播中的新包信息调用PMS提取新的应用包中所有图标及其对应的启动相
关信息;遍历Map关系列表,与提取到的图标信息对比;删除在新包中不存在的图标Map
元素,添加新包中新的图标及启动相关信息Map元素;
A55、根据新的Map关系列表重建系统窗口,结束监听。
4.如权利要求1所述的一种基于Android操作系统的多窗口界面实现方法,其特征
在于:步骤E中窗口管理服务单元根据新的应用窗口的配置信息为其分配位置和大小包括
如下步骤:
E1、将屏幕固定为横屏模式,将纵坐标值固定为状态栏的高度;
E2、判断应用窗口为横屏竖屏的属性,根据窗口属性计算应用窗口宽度和初始横坐标
值;
E3、设置一套竖屏配置项,当系统启动竖屏应用模式时,拷贝这套人竖屏配置项,以
实现竖屏的应用强制在横屏上面正常显示。
5.根据权利要求4所述的一种基于Android操作系统的多窗口界面实现方法,其特
征在于:步骤E2所述的计算方法包括:
E21、计算应用窗口宽度,若应用窗口为竖屏,设置窗口宽度为三分之一横向屏宽;
若应用窗口为横屏,设置窗口宽度为三分之二横向屏宽;
E22、计算初始横坐标值,设置两个计数器,分别计数自系统启动以来系统打开过的
横屏和竖屏应用窗口的数量,根据计数结果为新的窗口计算一个初始的横坐标;对于拖动
窗口,根据当前焦点窗口的大小和位置,来确定新的应用窗口的最终横坐标值。
6.根据权利要求5所述的一种基于Android操作系统的多窗口界面实现方法,其特
征在于:
步骤E22所述初始横坐标值的计算方法包括:
计数器计数自系统启动以来系统打开过的横屏和竖屏应用窗口的数量分别为CH和CP,
横向屏宽为SW,窗口的初始横坐标为X,若应用窗口为竖屏,则:X=(CP Mod 3)*1/3SW;
若应用窗口若为横屏,则:当(CH Mod 2)=0时,X=0;当(CH Mod 2)=1时,X=1/3SW;
步骤E22所述最终横坐标值的计算方法包括:
E221、获取当前焦点窗口的宽度和横坐标的值;
E222、计算当前焦点窗口的宽度是否等于横向屏宽,若是,则焦点窗口为全屏宽,设
定应用窗口的初始横坐标值为零;若否,则执行步骤E223;
E223、计算应用窗口和当前焦点窗口的宽度是否都等于三分之二横向屏宽,若是,则
说明应用窗口和焦点窗口相交,无需处理,结束计算;若否,则计算新窗口和焦点窗口是
否相交,若不相交,则无需处理,结束计算;若相交,则执行步骤E224;
E224、计算应用窗口的宽度是否等于三分之二横向屏宽,若是,如果应用窗口的初始
横坐标值为零,则最终横坐标值为三分之一横向屏宽,如果应用窗口的初始横坐标值为三
分之一横向屏宽,则最终横坐标值为零;若否,如果应用窗口的初始横坐标值为三分之二
横向屏宽,则最终横坐标值为零,否则,最终横坐标值为初始横坐标值与三分之一横向屏
宽之和;
E225、再次计算...

【专利技术属性】
技术研发人员:祁成红
申请(专利权)人:深圳市嘉乐派科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1