1.一种在移动终端分屏运行程序的方法,其特征在于,包括:
获取移动终端中待前台运行的程序;
为所述程序分配子显示窗口,其中,所述移动终端的显示窗口包括至少两个子显示窗口,所述为所述程序分配子显示窗口的步骤包括:标记为所述程序在所述移动终端的显示窗口中所分配的子显示窗口的显示区域,识别所述移动终端所包含的子显示窗口中当前是否有空闲的子显示窗口,若是,则将空闲的子显示窗口分配给所述程序,或者为所述程序在所述移动终端的显示窗口中新建子显示窗口,重新调整所述移动终端所包括的子显示窗口在所述移动终端的显示窗口中的位置,重新为所述移动终端所包括的子显示窗口分配显示区域;
若所述移动终端的操作系统为安卓系统,标记为所述程序在所述移动终端的显示窗口中所分配的子显示窗口的显示区域包括:在启动activity的过程中创建子显示窗口,将上或下的标记保存到windowState对象中;在为子显示窗口分配显示区域的逻辑中,根据windowState对象中的记录,添加对子显示窗口位置的判断;如果在排列在上方的子显示窗口,则将子显示窗口的显示区间定在移动终端的显示窗口的上半屏的显示区间内;如果在排列在下方的子显示窗口,则将窗口的显示区间定在移动终端的显示窗口的下半屏的显示区间内,其中,运行显示在子显示窗口A的activity时,只能暂停前面运行在子显示窗口A的activity,在运行显示在子显示窗口B的activity时,只能暂停前面运行在子显示窗口B的activity;
将所述程序在分配的所述子显示窗口进行显示。
2.如权利要求1所述的在移动终端分屏运行程序的方法,其特征在于,所述为所述程序分配子显示窗口的步骤包括:识别所述移动终端所包含的子显示窗口中当前是否有空闲的子显示窗口,若否,则按照设定规则分配一个子显示窗口,且将在所分配的子显示窗口中显示的已有程序停止。
3.如权利要求1所述的在移动终端分屏运行程序的方法,其特征在于,所述方法还包括:
接收子显示窗口调整指令;
根据接收到的子显示窗口调整指令,获取所述子显示窗口的边界坐标,并进行边界调整。
4.如权利要求3所述的在移动终端分屏运行程序的方法,其特征在于,所述接收子显示窗口调整指令的步骤包括:在相邻的子显示窗口之间显示分割线,接收用户通过触摸屏输入的所述分割线的拖动指令,作为所述子显示窗口调整指令。
5.一种在移动终端分屏运行程序的装置,其特征在于,包括:
待前台运行程序获取单元,用于获取移动终端中待前台运行的程序;
子显示窗口分配单元,用于为所述程序分配子显示窗口,其中,所述移动终端的显示窗口包括至少两个子显示窗口,标记为所述程序在所述移动终端的显示窗口中所分配的子显示窗口的显示区域,识别所述移动终端所包含的子显示窗口中当前是否有空闲的子显示窗口,若是,则将空闲的子显示窗口分配给所述程序,或者为所述程序在所述移动终端的显示窗口中新建子显示窗口,重新调整所述移动终端所包括的子显示窗口在所述移动终端的显示窗口中的位置,重新为所述移动终端所包括的子显示窗口分配显示区域;
若所述移动终端的操作系统为安卓系统,所述子显示窗口分配单元还具体用于:在启动activity的过程中创建子显示窗口,将上或下的标记保存到windowState对象中;在为子显示窗口分配显示区域的逻辑中,根据windowState对象中的记录,添加对子显示窗口位置的判断;如果在排列在上方的子显示窗口,则将子显示窗口的显示区间定在移动终端的显示窗口的上半屏的显示区间内;如果在排列在下方的子显示窗口,则将窗口的显示区间定在移动终端的显示窗口的下半屏的显示区间内,其中,运行显示在子显示窗口A的activity时,只能暂停前面运行在子显示窗口A的activity,在运行显示在子显示窗口B的activity时,只能暂停前面运行在子显示窗口B的activity;
程序显示单元,用于将所述程序在分配的所述子显示窗口进行显示。
6.如权利要求5所述的在移动终端分屏运行程序的装置,其特征在于,所述子显示窗口分配单元具体用于:识别所述移动终端所包含的子显示窗口中当前是否有空闲的子显示窗口,若否,则按照设定规则分配一个子显示窗口,且将在所分配的子显示窗口中显示的已有程序停止。
7.如权利要求5所述的在移动终端分屏运行程序的装置,其特征在于,所述在移动终端分屏运行程序的装置还包括窗口调整指令接收单元和窗口调整单元;
所述窗口调整指令接收单元用于接收子显示窗口调整指令;
所述窗口调整单元用于根据接收到的子显示窗口调整指令,获取所述子显示窗口的边界坐标,并进行边界调整。
8.如权利要求7所述的在移动终端分屏运行程序的装置,其特征在于,所述窗口调整指令接收单元具体用于:在相邻的子显示窗口之间显示分割线,接收用户通过触摸屏输入的所述分割线的拖动指令,作为所述子显示窗口调整指令。
一种在移动终端分屏运行程序的方法及装置\n技术领域\n[0001] 本发明涉及计算机应用技术领域,具体涉及通信技术领域,尤其涉及一种在移动终端分屏运行程序的方法及装置。\n背景技术\n[0002] 现有的智能手机、平板电脑等移动终端的屏幕越来越大,屏幕上同时显示两个或多个应用程序界面也可达到清晰显示的效果,使用移动终端的屏幕来显示两个或多个程序界面是完全可以接受的。\n[0003] 但是,现有的移动终端只支持在移动终端的前台的显示窗口呈现一个应用程序,而不支持多个应用程序同时在移动终端的前台呈现,例如,用户在移动终端上通过即时通讯工具聊天的时候就不能观看视频内容,观看视频内容的时候就不能通过即时通讯工具聊天。\n发明内容\n[0004] 有鉴于此,本发明实施例提供一种在移动终端分屏运行程序的方法及装置,以实现在智能终端上运行应用程序的灵活性。\n[0005] 本发明实施例采用以下技术方案:\n[0006] 第一方面,本发明实施例提供了一种在移动终端分屏运行程序的方法,包括:\n[0007] 获取移动终端中待前台运行的程序;\n[0008] 为所述程序分配子显示窗口,其中,所述移动终端的显示窗口包括至少两个子显示窗口;\n[0009] 将所述程序在分配的所述子显示窗口进行显示。\n[0010] 第二方面,本发明实施例还提供了一种在移动终端分屏运行程序的装置,包括:\n[0011] 待前台运行程序获取单元,用于获取移动终端中待前台运行的程序;\n[0012] 子显示窗口分配单元,用于为所述程序分配子显示窗口,其中,所述移动终端的显示窗口包括至少两个子显示窗口;\n[0013] 程序显示单元,用于将所述程序在分配的所述子显示窗口进行显示。\n[0014] 本发明实施例提出的技术主案的有益技术效果是:\n[0015] 本发明实施例所述的技术方案通过为获取移动终端中待前台运行的程序分配子显示窗口其中,再将所述程序在分配的所述子显示窗口进行显示,其中所述移动终端的显示窗口包括至少两个子显示窗口。本发明可实现同时在移动终端呈现两个或多个程序,能提高用户对移动终端的操作效率。\n附图说明\n[0016] 为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。\n[0017] 图1是本发明实施例一所述的在移动终端分屏运行程序的方法流程图;\n[0018] 图2是本发明实施例三所述的在移动终端分屏运行程序的效果示意图;\n[0019] 图3是本发明实施例四所述的在移动终端分屏运行程序的装置的结构框图。\n具体实施方式\n[0020] 为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0021] 下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。\n[0022] 实施例一\n[0023] 本实施例所提供的在移动终端分屏运行程序的方法适用于包括显示屏可安装软件的终端,包括但不限于智能手机、平板电脑等,尤其适用于具有大尺寸显示屏的移动智能终端,其操作系统包括但不限于安卓系统、iOS(Apple公司的移动操作系统)、Windows Phone(微软发布的一款手机操作系统)、Symbian(塞班系统)、黑莓、Mobile(微软推出的Windows Mobile操作系统)等,分屏运行的程序包括对操作系统自带程序和各类在操作系统上安装的显有显示界面的应用程序。图1是本实施例所述的在移动终端分屏运行程序的方法流程图,如图1所示,本实施例所述的在移动终端分屏运行程序的方法包括:\n[0024] S101、获取移动终端中待前台运行的程序。\n[0025] S102、为所述程序分配子显示窗口,其中,所述移动终端的显示窗口包括至少两个子显示窗口。\n[0026] 本步骤中为所述程序分配子显示窗口的具体方式可为多种,包括但不限于以下几种:\n[0027] 一种方式为:当获取到待前台运行的程序时,识别所述移动终端所包含的子显示窗口中当前是否有空闲的子显示窗口,若是,则将空闲的子显示窗口分配给所述程序;若否,则按照设定规则分配一个子显示窗口,且将在所分配的子显示窗口中显示的已有程序停止。\n[0028] 另一种方式为:若所述移动终端的显示窗口所包括至少两个子显示窗口中一个子显示窗口接收到子显示窗口分配指令时,将所述子显示窗口分配给所述分配指令所指向的待前台运行的程序。\n[0029] 还有一种方式为:当获取到待前台运行的程序时,为所述程序在所述移动终端的显示窗口中新建子显示窗口,重新调整所述移动终端所包括的子显示窗口在所述移动终端的显示窗口中的位置,重新为所述移动终端所包括的子显示窗口分配显示区域。\n[0030] S103、将所述程序在分配的所述子显示窗口进行显示。\n[0031] 本实施例的技术方案,通过为获取移动终端中待前台运行的程序分配子显示窗口其中,再将所述程序在分配的所述子显示窗口进行显示,其中所述移动终端的显示窗口包括至少两个子显示窗口。本发明可实现同时在移动终端呈现两个或多个程序,能提高用户对移动终端的操作效率。\n[0032] 实施例二\n[0033] 本实施例所述的在终端分屏运行程序的方法在实施例一的基础上,优选地还包括接收子显示窗口调整指令,根据接收到的子显示窗口调整指令,获取所述子显示窗口的边界坐标,并进行边界调整。\n[0034] 具体方式可包括多种,例如在相邻的子显示窗口之间显示分割线,检测作用于所述移动终端的显示窗口所包括的至少两个子显示窗口之间的分割线的触发信号,若检测到所述触发信号,则根据所述触发信号重新调整所述分割线的位置和所述分割线两侧的子显示窗口的显示区域,对所述分割线两侧的子显示窗口进行重新显示,以达到对各子显示窗口的大小调整。\n[0035] 与实施例一相比,本实施例所述的技术方案进一步提供了子显示窗口边界调整功能,能实时调整移动终端中前台运行的程序的显示界面的大小,能进一步提高用户对移动终端的操作效率。\n[0036] 实施例三\n[0037] 图2是本实施例所述的在移动终端分屏运行程序的效果示意图,如图2所示,AB代表移动终端的显示窗口中的两个子显示窗口,子显示窗口A和子显示窗口B的中间灰色的部分是两个子显示窗口的分割线,右边椭圆的部分代表应用程序,可以拖动到子显示窗口A或子显示窗口B中运行。\n[0038] 下面以安卓系统为例,说明实现如图2所示的在移动终端分屏运行程序的效果的方法:\n[0039] 首先,标记应用程序在移动终端的显示窗口中的位置,即标记为所述程序在所述移动终端的显示窗口中所分配的子显示窗口的显示区域,包括但不限于通过记录子显示窗口在显示窗口中的位置和/或子显示窗口的左上角坐标和右下角坐标。\n[0040] 安卓系统中最基本也是最为常见用的四大组件,包括Activity,Service(服务),Content Provider(内容提供者),BroadcastReceiver(广播接收器)。在安卓系统的应用中,一个Activity通常就是一个单独的显示窗口,它上面可以显示一些控件也可以监听并处理用户的事件做出响应,Activity之间通过Intent进行通信。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView来显示指定控件。\n[0041] 拖动应用程序到子显示窗口A或者子显示窗口B中运行,如果拖动到子显示窗口A中运行,则在启动activity的intent中添加一个标记为上的标记;如果拖动到子显示窗口B中运行,则在启动activity的intent中添加一个标记为下的标记,并最终将上或下的标记记录在activityRecord中。\n[0042] 其次:标记应用程序的子显示窗口在移动终端的显示窗口中的位置。\n[0043] 窗口的位置对应于应用在屏幕中的位置,在启动activity的过程中会去创建子显示窗口,此时将上或下的标记保存到windowState对象中。\n[0044] 再次,确定各子显示窗口的大小。\n[0045] 图2中的中间灰色的部分可以上下拖动,控制子显示窗口A和子显示窗口B的大小,每次拖动该中间灰色的部分后获取中间灰色控件在移动终端的显示窗口的Y轴的坐标,例如控件上限坐标为Yup,下限坐标为Ydown,则子显示窗口A在Y轴的位置区间为0到Yup,子显示窗口B在Y轴的位置区间为Ydown到屏幕底部。\n[0046] 再次,进行子显示窗口的绘制。\n[0047] 在对子显示窗口进行绘制之前,会有一个为子显示窗口分配显示区域的逻辑(主要逻辑在PhoneWindowManager.java中),在这段逻辑里面添加对子显示窗口位置的判断,windowState对象中有记录,如果在子显示窗口A,则将子显示窗口的显示区间定在移动终端的显示窗口的上半屏的显示区间内;如果在子显示窗口B,则将窗口的显示区间定在移动终端的显示窗口的下半屏的显示区间内。\n[0048] 移动终端里面只能同时在前台运行一个应用程序(说activity更准确),是因为在运行一个activity时,会将前面的activity暂停。为了同时在前台运行两个activity,需要修改这里的逻辑:在运行显示在子显示窗口A的activity时,只能暂停前面运行在子显示窗口A的activity;在运行显示在子显示窗口B的activity时,只能暂停前面运行在子显示窗口B的activity。Activity的位置在标记应用在屏幕中的位置的步骤中的activityRecord对象中有记录。\n[0049] 与实施例一相比,本实施例以安卓系统为例,说明在终端的显示窗口创建一条可上下滑动的横向分割线,使终端的显示窗口位于所述分割线上方的区域和下方的区域形成两个子显示窗口为例,以移动终端的显示窗口包括两个子显示窗口为模型,说明实现如图2所示的在移动终端分屏运行程序的效果的方法,可以满足用户同时在终端呈现任意两个程序的需求,能提高用户对终端的操作效率。\n[0050] 实施例四\n[0051] 图3是本实施例所述的在移动终端分屏运行程序的装置的结构框图,如图3所示,本实施例所述的在移动终端分屏运行程序的装置包括:\n[0052] 待前台运行程序获取单元301,用于获取移动终端中待前台运行的程序;\n[0053] 子显示窗口分配单元302,用于为所述程序分配子显示窗口,其中,所述移动终端的显示窗口包括至少两个子显示窗口;\n[0054] 程序显示单元303,用于将所述程序在分配的所述子显示窗口进行显示。\n[0055] 进一步地,所述子显示窗口分配单元302用于:标记为所述程序在所述移动终端的显示窗口中所分配的子显示窗口的显示区域。\n[0056] 或者,所述子显示窗口分配单元302具体用于:识别所述移动终端所包含的子显示窗口中当前是否有空闲的子显示窗口,若是,则将空闲的子显示窗口分配给所述程序;若否,则按照设定规则分配一个子显示窗口,且将在所分配的子显示窗口中显示的已有程序停止。\n[0057] 或者,所述子显示窗口分配单元302具体用于:为所述程序在所述移动终端的显示窗口中新建子显示窗口,重新调整所述移动终端所包括的子显示窗口在所述移动终端的显示窗口中的位置,重新为所述移动终端所包括的子显示窗口分配显示区域。\n[0058] 本实施例的技术方案,通过为获取移动终端中待前台运行的程序分配子显示窗口其中,再将所述程序在分配的所述子显示窗口进行显示,其中所述移动终端的显示窗口包括至少两个子显示窗口。本发明可实现同时在移动终端呈现两个或多个程序,能提高用户对移动终端的操作效率。\n[0059] 实施例五\n[0060] 在实施例四的基础上,优选地,在本发明另一实施例中进一步地,所述在移动终端分屏运行程序的装置还包括窗口调整指令接收单元和窗口调整单元。\n[0061] 所述窗口调整指令接收单元用于接收子显示窗口调整指令;\n[0062] 所述窗口调整单元用于根据接收到的子显示窗口调整指令,获取所述子显示窗口的边界坐标,并进行边界调整。\n[0063] 进一步地,所述窗口调整指令接收单元具体用于:在相邻的子显示窗口之间显示分割线,接收用户通过触摸屏输入的所述分割线的拖动指令,作为所述子显示窗口调整指令。\n[0064] 本实施例的技术方案,通过为获取移动终端中待前台运行的程序分配子显示窗口其中,再将所述程序在分配的所述子显示窗口进行显示,其中所述移动终端的显示窗口包括至少两个子显示窗口。本发明可实现同时在移动终端呈现两个或多个程序,能提高用户对移动终端的操作效率。\n[0065] 与实施例四相比,本实施例所述的技术方案进一步提供了用于对子显示窗口边界进行调整的功能单元,用于实现实时调整移动终端中前台运行的程序的显示界面的大小,能进一步提高用户对移动终端的操作效率。\n[0066] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
法律信息
- 2021-12-21
专利权人的姓名或者名称、地址的变更
专利权人由广东欧珀移动通信有限公司变更为OPPO广东移动通信有限公司
地址由523860 广东省东莞市长安镇乌沙海滨路18号变更为523860 广东省东莞市长安镇乌沙海滨路18号
- 2017-10-31
- 2014-03-26
实质审查的生效
IPC(主分类): G06F 9/44
专利申请号: 201310611669.X
申请日: 2013.11.26
- 2014-02-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |