CN107508961A - 一种活动窗口启动方法、终端及计算机可读存储介质 - Google Patents

一种活动窗口启动方法、终端及计算机可读存储介质 Download PDF

Info

Publication number
CN107508961A
CN107508961A CN201710495791.3A CN201710495791A CN107508961A CN 107508961 A CN107508961 A CN 107508961A CN 201710495791 A CN201710495791 A CN 201710495791A CN 107508961 A CN107508961 A CN 107508961A
Authority
CN
China
Prior art keywords
window
stack
split screen
active
storehouse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710495791.3A
Other languages
English (en)
Inventor
张军伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201710495791.3A priority Critical patent/CN107508961A/zh
Publication of CN107508961A publication Critical patent/CN107508961A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种活动窗口启动方法,包括:终端接收到指示启动目标活动窗口的启动指令后,可以确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口,若存在,则另外创建分屏活动窗口堆栈,并在该分屏活动窗口堆栈中对目标活动窗口进行再创建。本发明还公开了一种活动窗口启动终端及计算机可读存储介质,在上述方案中,目标活动窗口在分屏活动窗口堆栈与焦点活动窗口堆栈中可同时存在,且均处于激活状态,所以,分屏活动窗口堆栈与焦点活动窗口堆栈中各目标活动窗口所对应的页面对用户均是可见的,所以支持页面布局相同的不同页面间的分屏,满足了用户在多种终端使用场景下的期望,在很大程度上契合了用户的实际需求,提升了用户体验。

Description

一种活动窗口启动方法、终端及计算机可读存储介质
技术领域
本发明涉及终端技术领域,更具体地说,涉及一种活动窗口启动方法、终端及计算机可读存储介质。
背景技术
得益于手机分屏技术的出现,当用户在手机上处理某项事务的同时又出现了另一项新事务需要用户查看处理时,大多数情况下用户都不需要退出当前正在处理的事务而返回到桌面查找新事务进行处理。在分屏技术的支持下,手机的显示屏可以被划分成两个区域,其中一个区域可显示原事务的处理界面,另一区域则用于显示新事务的处理界面,两项待处理事务同时对用户可见,让用户可以在两个事务处理界面之间灵活快速地切换,更随心、更自由地控制各项事务的处理进度。
但是,目前手机分屏技术基本都只支持两个不同应用之间的分屏,对于同一个应用,特别是同一应用中布局相同的显示界面的分屏,目前还尚未出现。例如,当用户在某一即时通讯软件中与自己的朋友A聊天时,可以同时分屏进行新闻浏览,如图1所示。但是用户如果希望通过分屏,让手机显示屏的两个区域同时显示自己与朋友甲和朋友乙的聊天界面,这却无法实现,在图2当中示出了用户期望的一种分屏显示界面。
无法实现同一应用程序同一种页面的分屏显示,这主要是由于APP(Application,应用程序)的页面显示需要依赖于与该页面对应Activity(活动窗口)的成功展示:两个分屏分别显示A和B两个界面,则要求A和B各自的Activity分别位于两个分屏各自的ActivityStack(活动窗口堆栈)栈顶。而同一应用程序布局相同的两个页面(如图2所示的两个聊天界面)实际上是对应了同一Activity的,而按照目前Activity的四种启动模式均不支持不同Activity Stack管理相同Activity。
所以现在亟需提出一种新的活动窗口启动方案,用以解决现有启动模式不支持不同Activity Stack管理相同Activity,进而导致共用相同Activity的页面无法实现分屏的问题。
发明内容
本发明要解决的技术问题在于:解决现有启动模式不支持同一Activity在两个Stack中处于激活状态,进而导致共用相同Activity的页面无法实现分屏的问题,针对该技术问题,提供一种活动窗口启动方法、终端及计算机可读存储介质。
为解决上述技术问题,本发明提供一种活动窗口启动方法,所述活动窗口启动方法包括:
接收用于指示启动目标活动窗口的启动指令;
确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口,激活状态为活动窗口支持与用户进行交互的状态;
若存在,则创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建,以同时利用所述焦点活动窗口堆栈和所述分屏活动窗口堆栈对所述目标活动窗口进行管理。
可选地,所述接收用于指示启动目标活动窗口的启动指令之后,还包括:
确定所述焦点活动窗口堆栈中是否存在处于未激活状态的目标活动窗口;
若存在,则对所述目标活动窗口进行激活。
可选地,所述对所述目标活动窗口进行激活包括:
将所述目标活动窗口移动至其所在任务栈的栈顶;
将所述任务栈移动至所述焦点活动窗口堆栈的栈顶。
可选地,所述接收用于指示启动目标活动窗口的启动指令之后,还包括:
确定所述焦点活动窗口堆栈中不存在所述目标活动窗口;
在所述焦点活动窗口堆栈中创建所述目标活动窗口。
可选地,所述确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口包括:
获取位于所述焦点活动窗口堆栈之栈顶的任务栈;
获取所述任务栈的栈顶元素,并确定所述栈顶元素是否为所述目标活动窗口,若是,则判定存在处于激活状态的目标活动窗口,若否,则判定不存在处于激活状态的目标活动窗口。
可选地,所述创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建包括:
创建分屏活动窗口堆栈,并在所述分屏活动窗口堆栈中创建用于管理所述目标活动窗口的分屏任务栈;
在所述分屏任务栈中创建所述目标活动窗口。
进一步地,本发明提供了一种终端,所述终端包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的活动窗口启动程序,以实现以下步骤:
接收用于指示启动目标活动窗口的启动指令;
确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口,激活状态为活动窗口支持与用户进行交互的状态;
若存在,则创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建,以同时利用所述焦点活动窗口堆栈和所述分屏活动窗口堆栈对所述目标活动窗口进行管理。
可选地,所述处理器用于执行所述活动窗口启动程序,根据以下步骤实现创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建:
创建分屏活动窗口堆栈,并在所述分屏活动窗口堆栈中创建用于管理所述目标活动窗口的分屏任务栈;
在所述分屏任务栈中创建所述目标活动窗口。
可选地,所述终端还包括显示屏,所述创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建之后,所述处理器还用于执行所述活动窗口启动程序,以实现以下步骤:
控制所述显示屏的第一显示区对所述焦点活动窗口堆栈中的目标活动窗口进行展示,以及控制所述显示屏的第二显示区对所述分屏活动窗口堆栈中的目标活动窗口进行展示。
进一步地,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
接收用于指示启动目标活动窗口的启动指令;
确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口,激活状态为活动窗口支持与用户进行交互的状态;
若存在,则创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建,以同时利用所述焦点活动窗口堆栈和所述分屏活动窗口堆栈对所述目标活动窗口进行管理。
有益效果
本发明实施例提供一种活动窗口启动方法、终端及计算机可读存储介质,终端接收到用于指示启动目标活动窗口的启动指令后,可以确定在当前焦点活动窗口堆栈中是否已经存在处于激活状态的目标活动窗口,如果存在,则终端可以另外创建分屏活动窗口堆栈,并在该分屏活动窗口堆栈中对目标活动窗口进行再创建。因此,目标活动窗口在分屏活动窗口堆栈与焦点活动窗口堆栈中就同时存在了,且再创建所得的目标活动窗口必然位于分屏活动窗口堆栈的栈顶,而焦点活动窗口中的目标活动窗口也处于激活状态,所以,分屏活动窗口堆栈与焦点活动窗口堆栈中各目标活动窗口所对应的页面对用户均是可见的。故,本实施例提供的活动窗口启动方案,因为支持同一个目标活动窗口在两个堆栈中同时存在,所以支持页面布局相同的不同页面间的分屏,满足了用户在多种终端使用场景下的期望,在很大程度上契合了用户的实际需求,提升了用户体验。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为一种手机分屏显示的显示界面示意图;
图2为用户期望实现的一种手机分屏显示的显示界面示意图;
图3为默认模式下启动Activity的一种示意图;
图4为栈顶唯一模式下启动Activity的一种示意图;
图5为任务栈唯一模式下启动Activity的一种示意图;
图6为进程唯一模式下启动Activity的一种示意图;
图7为本发明第一实施例提供的活动窗口启动方法的一种流程图;
图8为本发明第一实施例中所示出的一种用户界面示意图;
图9为本发明第二实施例提供的活动窗口启动方法的一种流程图;
图10为本发明第二实施例提供的活动窗口启动方法的另一种流程图;
图11为本发明第三实施例提供的一种终端的硬件结构示意图;
图12为本发明第四实施例提供的一种移动终端的硬件结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了解决布局相同页面无法进行分屏的问题,为用户提供更好的终端使用体验,本实施例提供一种活动窗口启动方法:
第一实施例:
本实施例提供的活动窗口启动方法支持同一Activity(活动窗口)在不同Stack(活动窗口堆栈)中同时处于激活状态,从而让不同Stack所对应的屏幕同时对该Activity进行展示,实现以该Activity呈现的布局相同的两个显示页面的分屏显示。
为了便于理解,在对本发明所提供的活动窗口启动方法进行详细介绍之前,这里先对Activity启动的相关技术进行简单介绍:
Activity是一个负责与用户交互的组件,其中所有操作都与用户密切相关,其提供一个屏幕,以供用户交互完成某项任务。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。在对Activity进行管理中,有这样两个概念:Task(任务栈)和Stack。Task用于存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循“先进后出,后进先出”的原则。而Stack又用于对Task进行管理,通常,一个Stack对一个屏幕所需展示的各Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。
介绍了对Activity的基本管理方式后,下面对Activity的启动模式进行阐述。目前,Activity的启动模式有以下四种:
1)Standard(默认模式):该模式下,每次启动Activity时,都会再次创建一个新的Activity实例,并放入任务栈。即在同一个Task中,可以同时存在多个该Activity的实例。请参见图3所示出的在Standard模式下启动Activity的一种示意图:在Task当中,原本已经存在Activity1的实例Activity1.1和Activity2的实例Activity2.1,但是当需要启动Activity2时,会继续创建Activity2.2放入Task当中。
2)Single Top(栈顶唯一模式):和Standard类似,不同在于,当启动Activity时,如果之前在已存在一个该Activity的实例,且该实例位于Task的顶部,则不会创建新的实例,而是复用该Activity。请参见图4所示出的在Single Top模式下启动Activity的一种示意图:在Task当中,原本已经存在Activity1的实例Activity1.1和Activity2的实例Activity2.1,且Activity2的实例Activity2.1位于Task的栈顶。当需要启动Activity2时,则直接使用已经存在的Activity2.1,不需要继续创建。但是如果需要启动的Activity不在Task的栈顶或者在Task中不存在,则仍旧需要重新创建。
3)Single Task(任务栈唯一模式):即一个Task中仅存在一个该启动模式的Activity的实例。如果需要启动Activity在Task中存在有实例,则不需要创建,只需要把此Activity放入栈顶,并把原本位于该Activity实例以上的Activity实例都移除即可。请参见图5所示出的在Single Task模式下启动Activity的一种示意图:在Task当中,原本已经存在Activity1的实例Activity1.1和Activity2的实例Activity2.1,且Activity2的实例Activity2.1位于Task的栈顶。当需要启动Activity1时,因为在Task中已经存在Activity1.1,所以,可以直接移除Activity1.1之上的Activity2.1,使得Activity1.1位于Task栈顶即可。
4)Single Instance(进程唯一模式):独占一个Task,一个Activity创建后,再次调用不会创建新的实例,而是复用该Activity。独占一个Task的Activity与其说是Activity,倒不如说是一个应用,这个应用与其他Activity是独立的,它有自己的上下文Activity。请参见图6所示出的在Single Instance模式下启动Activity的一种示意图:在应用一的Task当中,原本已经存在Activity1的实例Activity1.1和Activity2的实例Activity2.1,在应用二的Task中,原本已经存在Activity3的实例Activity3.1。当应用一需要启动Activity3时,因为在应用二的Task中已经存在Activity3.1,所以,应用一的Task可以直接共享Activity3的实例Activity3.1,不必重新创建。
由于对两个布局相同的页面同时进行分屏显示,要求在这两个分屏所对应的Stack都处于激活状态。但在以上四种Activity启动模式当中,并没有任何一种启动模式支持当一个Activity在一个Stack中位于栈顶Task的栈顶时,在另一Stack种也同样让该Activity处于激活状态。所以,为了解决该问题,本实施例提供一种新的Activity启动方法,请参见图7:
S702、接收用于指示启动目标活动窗口的启动指令。
启动指令用于触发终端启动目标活动窗口,也即目标Activity。应当理解的是,启动指令可以是根据用户的操作而生成的,例如如图8所示的显示界面中展示的一个即时通讯APP中用户的联系人列表。用户通过点击屏幕选择了其中的联系人“李飞”,终端将会根据用户的点击动作生成启动指令触发终端显示屏创建用于展示用户与“李飞”聊天界面的目标Activity。当然,启动指令也可能是应用程序等根据展示需求而自动生成的。不过毫无疑义的是,无论哪一种,启动指令的作用都是用于触发启动目标Activity。
S704、确定当前焦点活动窗口堆栈中已存在处于激活状态的目标活动窗口。
当前焦点活动窗口堆栈,即焦点Stack,是指当前可以接收用户操作的显示屏所对应的Stack,用于对当前可与用户交互的显示屏的Activity进行管理的Stack。在如果一个终端仅具有一个显示屏,则当该显示屏处于全屏显示模式时,焦点Stack即为Full ScreenStack(全屏活动窗口堆栈);若该终端处于分屏显示模式下,例如,该终端的显示屏被分为第一显示屏幕与第二显示屏幕,用户当前正在与第一显示屏幕进行交互,则焦点Stack为对第一显示屏幕的各Activity进行管理的Stack。
一个Activity支持与用户的交互,则认为该Activity处于激活状态,反之,则认为该Activity处于未激活状态。当接收到启动指令后,为了确认该启动指令所指示的需要启动的目标Activity是否处于激活状态,在本实施例中,终端可以查询位于焦点Stack栈顶的Task,并确定该栈顶Task的栈顶元素是否是目标Activity,如果是,则判定启动指令对应的目标Activity存在于焦点Stack中,且当前正处于激活状态;否则,判定焦点Stack中当前并不存在处于激活目标Activity的实例。
S706、创建分屏活动窗口堆栈并在分屏活动窗口堆栈中对目标活动窗口进行再创建。
当确定当前焦点Stack中存在处于激活状态后,根据本实施例中所提供的活动窗口启动方法,终端将会在分屏活动窗口堆栈,即分屏Stack中再创建一个目标Activity。终端可以先创建分屏Stack,然后在该分屏Stack中创建用于对目标Activity进行管理的Task,然后将目标Activity放入到新创建的Task,让目标Activity在分屏Stack与焦点Stack中同时存在,从而使用分屏Stack与焦点Stack同时对该目标Activity进行管理。
实际上,当终端确定在当前焦点Stack中存在处于激活状态的目标Activity时,就说明该目标Activity所对应的页面当前正呈现在用户眼前,目标Activity可以与用户进行交互。我们假定目标Activity是用于展示用户同朋友聊天界面的Activity,那么,说明当前终端的显示屏上正显示着用户与某一朋友的聊天的一个聊天界面。这时候又接收到了对该目标Activity的启动指定,则表明当前可能还需要在另一个显示屏幕上展示用于与该朋友的聊天界面或者是用户与其他朋友的聊天界面。因此,终端可以再创建分屏Stack,并在分屏Stack中也创建一个处于激活状态的目标Activity,以便让目标Activity同时在两个显示屏幕上进行展示,也即在两个显示屏幕上同时展示该目标Activity对应的布局完全相同的两个页面。
在本实施例中,如果终端接收到启动指令之后,经过确定发现当前焦点Stack中并不存在处于激活状态的目标Activity,则可能是这样两种情况:
第一种,在焦点Stack中存在目标Activity,但是目标Activity并没有处于激活状态;
第二种,在焦点Stack中根本就不存在目标Activity。
对于第一种情况,在焦点Stack中存在目标Activity,但不存在处于激活状态的目标Activity,则说明终端之前已经展示了该目标Activity,只不过目标Activity所对应的页面当前对用户而言不可见,可能是在后台运行当中。例如,在晚上7:00时,用户通过微信与自己的好朋友“李飞”进行了聊天,7:05的时候,用户返回桌面,并打开了用于新闻浏览的APP。此时,前台运行的是用于新闻浏览的APP,呈现在用户眼前的也应当是新闻信息。但是用户在浏览新闻的时候,又接收到了微信消息,这个微信消息可以是李飞发送过来,也有可以是其他朋友发送的,总之,用户现在需要打开与朋友的聊天界面,并进行消息回复。在这种情况下,终端就需要启动一个之前已经在焦点Stack中创建完成,但当前并没有处于激活状态的目标Activity。
在焦点Stack中的目标Activity没有处于焦点Stack的栈顶,这意味着目标Activity不在焦点Stack的栈顶Task中,或者目标Activity在焦点Stack的栈顶Task中,但是并不在该Task的栈顶,又或者是目标Activity既不在焦点Stack的栈顶Task中,也不是其所属Task的栈顶元素。因为,一个处于激活状态的Activity必然满足这样的条件:其所属的Task是焦点Stack的栈顶元素,而且,该Activity也是其所属Task的栈顶元素。
针对在焦点Stack中存在目标Activity,但是目标Activity并没有处于激活状态的情况,在本实施例的一个示例当中,终端将会对焦点Stack中的目标Activity进行激活处理:首先终端将目标Activity移动至其所在Task的栈顶,然后将该Task移动至到焦点Stack的栈顶。应当明白的是,终端先移动目标Activity还是目标Activity所在的Task均是可行的,只要经过移动之后,目标Activity位于焦点Stack的栈顶即可。在本实施例的另一示例当中,终端不会对已经存在于焦点Stack中且处于未激活状态的目标Activity进行激活,而是会在焦点Stack中重新创建一个新的目标Activity,也就是说,在焦点Stack中同时存在一个激活的目标Activity和一个处于未激活状态的目标Activity。
对于第二种情况,说明启动指令要求启动的目标Activity所对应的页面在终端中并没有打开,或者打开后又被关闭(注意,这里所说的关闭并不仅仅是指对用而言不可见,而是排除在后台运行的情况)了。现在启动该目标Activity,相当于重新显示一个页面。所以,终端将会在焦点Stack中新建一个目标Activity,并对该目标Activity对应的页面进行显示。应当理解的是,创建的目标Activity必然位于对应Task的栈顶,而目标Activity所在的Task也必然处于焦点Stack的栈顶,也即目标Activity处于激活状态。
本实施例提供的活动窗口启动方法,在需要启动目标Activity时,如果确定当前焦点Stack中存在已经处于激活状态的目标Activity,则会新建分屏Stack,并在分屏Stack中再创建一个目标Activity,让目标Activity在焦点Stack和分屏Stack中同时存在,从而让焦点Stack与分屏Stack所对应的显示屏幕可以同时对该目标Activity所对应的布局相同的页面进行显示,实现页面布局相同的两个页面的分屏显示。
更进一步地,本实施例提供的活动窗口启动方法,还会在焦点Stack中存在处于未激活状态的目标Activity时,对未激活状态的目标Activity进行激活,或者在焦点Stack中不存在目标Activity时创建目标Activity,从而为用户提供完整的服务。
第二实施例:
本实施例结合用户的具体操作与附图对本发明提供的窗口启动方法做进一步介绍,下面请参见图9:
S900、接收启动指令。
本实施例中,终端接收到的启动指令由用户触发生成,例如用户想要显示自己与某一朋友的聊天界面,因此,通过触控操作向终端下发了指令,终端可以直接基于该触控操作生成启动指令。
S902、判断焦点Stack中是否存在目标Activity。
终端判断焦点中是否存在目标Activity即是判断之前是否已经打开了了用户与任意联系人的聊天页面。如果是,则说明之前已经打开了布局相同的聊天页面,且该聊天页面当前可能还在后台运行,在这种情况下,终端执行S906;否则,说明终端之前没有打开布局相同的页面,若要按照用户要求打开该聊天页面,则需要创建目标Activity,执行S904。
S904、终端在当前焦点Stack中创建目标Activity。
终端在焦点Stack所管理的对应Task中创建目标Activity,若焦点Stack中暂时不存在对目标Activity进行管理的Task,则焦点Stack需要先创建Task,然后再将目标Activity压至该Task的栈顶。
S906、判断焦点Stack中的目标Activity是否处于激活状态。
若在焦点Stack中存在启动指令所对应的目标Activity,则说明终端之前已经打开了该目标Activity所对应的聊天页面,当前该聊天页面可能是用户可见的,也可以在后台运行,并不可见。为了明白用户进行触控操作下发启动指令的目的到底是为了对聊天页面进行分屏显示,还是为了将处于后台运行的聊天页面调至前台显示,终端需要判断之前在焦点Stack中已经存在的目标Activity是否是处于激活状态,如果目标Activity处于激活状态,则说明当前显示给用户的页面正是聊天页面,那么用户在这种情况中下发启动指令就应当是为了实现聊天页面的分屏。因此,终端执行S908。若终端判断焦点Stack中的目标Activity处于非为激活状态,则说明聊天页面对于用户不可见,用户当前下发启动指令是为了让后台运行的聊天页面进行前台显示,所以终端可以执行S912。
S908、在分屏Stack中创建目标Activity。
具体的,终端首先需要创建分屏Stack,在本实施例中,分屏Stack可以为DockedStack(驻留活动窗口堆栈)。然后在分屏Stack中创建用于对目标进行管理的Task,例如在Docked Stack中创建Task,让后将目标Activity压入该Task的栈顶。
S910、对分屏Stack和焦点Stack所对应的显示屏幕进行调节。
终端可以对分屏Stack和焦点Stack所对应的两个显示屏幕的大小、形状等进行调节,应当注意的是,调节过程可以用户的操作下完成。
S912、将焦点Stack中的目标Activity进行激活。
终端可以先将目标Activity移动至其所在Task的栈顶,然后将该Task移动至到焦点Stack的栈顶,从而完成对目标Activity的激活。同样,终端也可以先将目标Activity所在的Task移动至到焦点Stack的栈顶,然后在将目标Activity移动至该Task的栈顶。在本实施例中并不限定终端在激活过程各操作的顺序,只要保证最终让目标Activity所属的Task成为焦点Stack的栈顶元素,且目标Activity也成为是其所属Task的栈顶元素即可。
在本实施例的另一示例所提供的活动窗口启动方法与图9中的流程顺序略有不同,请参见图10:
S100、接收启动指令。
本示例当中,启动指令可以是根据用户的操作而生成的,也可以是应用程序等根据展示需求而自动生成的。
S102、判断焦点Stack中是否存在处于激活状态的目标Activity。
为了判断焦点Stack中是否存在处于激活状态的目标Activity,终端可以直接获取焦点Stack栈顶Task的栈顶元素,判断该栈顶元素是否是目标Activity,若是,执行S104、否则执行S108。
S104、在分屏Stack中创建目标Activity。
本实例中,终端也可以创建Docked Stack作为分屏Stack。然后在分屏Stack中创建用于对目标进行管理的Task,例如在Docked Stack中创建Task,让后将目标Activity压入该Task的栈顶。
S106、对分屏Stack和焦点Stack所对应的显示屏幕进行调节。
和前一示例类似,终端可以对分屏Stack和焦点Stack所对应的两个显示屏幕的大小、形状等进行调节,且调节过程可以用户的操作控制下完成。
S108、判断焦点Stack中是否存在目标Activity。
由于焦点Stack中不存在处于激活状态的目标Activity可能是因为在焦点Stack中存在目标Activity,但是目标Activity并没有处于激活状态;也有可能是因为在焦点Stack中根本就不存在目标Activity。因此,终端需要进一步判断焦点Stack中是否存在目标Activity,若有,则执行S110,否则,执行S112。
S110、将焦点Stack中的目标Activity进行激活。
和图9所对应的示例一样,这里不对终端激活目标Activity时所采用的顺序做具体限定,终端可以根据自己的实际需求进行灵活选择。
S112、终端在当前焦点Stack中创建目标Activity。
终端在焦点Stack所管理的对应Task中创建目标Activity,若焦点Stack中暂时不存在对目标Activity进行管理的Task,则焦点Stack需要先创建Task,然后再将目标Activity压至该Task的栈顶。
本实施例提供的活动窗口启动方法,因为支持同一个目标活动窗口在两个堆栈中同时存在,所以支持页面布局相同的不同页面间的分屏,满足了用户在多种终端使用场景下的期望,在很大程度上契合了用户的实际需求,提升了用户体验。
第三实施例:
本实施例提供一种终端,请参见图11,该终端11包括处理器111、存储器112及通信总线113。通信总线113用于实现处理器111和存储器112之间的连接通信。存储器62可以存储有一个或多个计算机程序,本实施例中的存储器112存储有活动窗口启动程序,该程序可供处理器111读取、编译并执行,从而实现第一实施例或第二实施例中的活动窗口启动方法。下面结合具体示例对该终端11执行活动窗口启动方法的过程进行介绍:
启动指令用于触发处理器111启动目标活动窗口,也即目标Activity。应当理解的是,启动指令可以是根据用户的操作而生成的,例如如图8所示的显示界面中展示的一个即时通讯APP中用户的联系人列表。用户通过点击屏幕选择了其中的联系人“李飞”,处理器111将会根据用户的点击动作生成启动指令触发创建用于展示用户与“李飞”聊天界面的目标Activity。当然,启动指令也可能是应用程序等根据展示需求而自动生成的。不过毫无疑义的是,无论哪一种,启动指令的作用都是用于触发启动目标Activity。
当前焦点活动窗口堆栈,即焦点Stack,是指当前可以接收用户操作的显示屏所对应的Stack,用于对当前可与用户交互的显示屏的Activity进行管理的Stack。在如果一个终端111仅具有一个显示屏,则当该显示屏处于全屏显示模式时,焦点Stack即为FullScreen Stack;若该终端111处于分屏显示模式下,例如,该终端111的显示屏被分为第一显示屏幕与第二显示屏幕,用户当前正在与第一显示屏幕进行交互,则焦点Stack为对第一显示屏幕的各Activity进行管理的Stack。
一个Activity支持与用户的交互,则认为该Activity处于激活状态,反之,则认为该Activity处于未激活状态。当接收到启动指令后,为了确认该启动指令所指示的需要启动的目标Activity是否处于激活状态,在本实施例中,处理器111可以查询位于焦点Stack栈顶的Task,并确定该栈顶Task的栈顶元素是否是目标Activity,如果是,则判定启动指令对应的目标Activity存在于焦点Stack中,且当前正处于激活状态;否则,判定焦点Stack中当前并不存在处于激活目标Activity的实例。
当确定当前焦点Stack中存在处于激活状态后,根据本实施例中所提供的活动窗口启动方案,处理器111将会在分屏活动窗口堆栈,即分屏Stack中再创建一个目标Activity。处理器111可以先创建分屏Stack,然后在该分屏Stack中创建用于对目标Activity进行管理的Task,然后将目标Activity放入到新创建的Task,让目标Activity在分屏Stack与焦点Stack中同时存在,从而使用分屏Stack与焦点Stack同时对该目标Activity进行管理。
实际上,当处理器111确定在当前焦点Stack中存在处于激活状态的目标Activity时,就说明该目标Activity所对应的页面当前正呈现在用户眼前,目标Activity可以与用户进行交互。我们假定目标Activity是用于展示用户同朋友聊天界面的Activity,那么,说明当前终端111的显示屏上正显示着用户与某一朋友的聊天的一个聊天界面。这时候又接收到了对该目标Activity的启动指定,则表明当前可能还需要在另一个显示屏幕上展示用于与该朋友的聊天界面或者是用户与其他朋友的聊天界面。因此,处理器111可以再创建分屏Stack,并在分屏Stack中也创建一个处于激活状态的目标Activity,以便让目标Activity同时在两个显示屏幕上进行展示,也即在两个显示屏幕上同时展示该目标Activity对应的布局完全相同的两个页面。在本实施例中,终端11还包括显示屏(图11中未示出),当处理器111创建分屏活动窗口堆栈并在分屏活动窗口堆栈中对目标Activity进行再创建后,处理器111还会控制该显示屏的第一显示区对焦点Stack中的目标Activity进行展示,让显示屏的第二显示区对分屏Stack中的目标Activity进行展示。可以理解的是,如果终端的显示屏不止一个,则第一显示区与第二显示区可以位于不同的两个显示屏上。
在本实施例中,如果处理器111接收到启动指令之后,经过确定发现当前焦点Stack中并不存在处于激活状态的目标Activity,则可能是这样两种情况:
第一种,在焦点Stack中存在目标Activity,但是目标Activity并没有处于激活状态;
第二种,在焦点Stack中根本就不存在目标Activity。
对于第一种情况,在焦点Stack中存在目标Activity,但不存在处于激活状态的目标Activity,则说明终端111之前已经展示了该目标Activity,只不过目标Activity所对应的页面当前对用户而言不可见,可能是在后台运行当中。例如,在晚上7:00时,用户通过微信与自己的好朋友“李飞”进行了聊天,7:05的时候,用户返回桌面,并打开了用于新闻浏览的APP。此时,前台运行的是用于新闻浏览的APP,呈现在用户眼前的也应当是新闻信息。但是用户在浏览新闻的时候,又接收到了微信消息,这个微信消息可以是李飞发送过来,也有可以是其他朋友发送的,总之,用户现在需要打开与朋友的聊天界面,并进行消息回复。在这种情况下,处理器111就需要启动一个之前已经在焦点Stack中创建完成,但当前并没有处于激活状态的目标Activity。
在焦点Stack中的目标Activity没有处于焦点Stack的栈顶,这意味着目标Activity不在焦点Stack的栈顶Task中,或者目标Activity在焦点Stack的栈顶Task中,但是并不在该Task的栈顶,又或者是目标Activity既不在焦点Stack的栈顶Task中,也不是其所属Task的栈顶元素。因为,一个处于激活状态的Activity必然满足这样的条件:其所属的Task是焦点Stack的栈顶元素,而且,该Activity也是其所属Task的栈顶元素。
针对在焦点Stack中存在目标Activity,但是目标Activity并没有处于激活状态的情况,在本实施例的一个示例当中,处理器111将会对焦点Stack中的目标Activity进行激活处理:首先处理器111将目标Activity移动至其所在Task的栈顶,然后将该Task移动至到焦点Stack的栈顶。应当明白的是,处理器111先移动目标Activity还是目标Activity所在的Task均是可行的,只要经过移动之后,目标Activity位于焦点Stack的栈顶即可。在本实施例的另一示例当中,处理器111不会对已经存在于焦点Stack中且处于未激活状态的目标Activity进行激活,而是会在焦点Stack中重新创建一个新的目标Activity,也就是说,在焦点Stack中同时存在一个激活的目标Activity和一个处于未激活状态的目标Activity。
对于第二种情况,说明启动指令要求启动的目标Activity所对应的页面在终端111中并没有打开,或者打开后又被关闭(注意,这里所说的关闭并不仅仅是指对用而言不可见,而是排除在后台运行的情况)了。现在启动该目标Activity,相当于重新显示一个页面。所以,处理器111将会在焦点Stack中新建一个目标Activity,并对该目标Activity对应的页面进行显示。应当理解的是,创建的目标Activity必然位于对应Task的栈顶,而目标Activity所在的Task也必然处于焦点Stack的栈顶,也即目标Activity处于激活状态。
本实施例提供的终端,在需要启动目标Activity时,如果确定当前焦点Stack中存在已经处于激活状态的目标Activity,则会新建分屏Stack,并在分屏Stack中再创建一个目标Activity,让目标Activity在焦点Stack和分屏Stack中同时存在,从而让焦点Stack与分屏Stack所对应的显示屏幕可以同时对该目标Activity所对应的布局相同的页面进行显示,实现页面布局相同的两个页面的分屏显示。
第四实施例:
前述各实施例中的终端可以以各种形式来实施。例如,手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。且在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
请参阅图12,其为实现本发明各个实施例的一种移动终端的硬件结构示意图,该移动终端12可以包括:显示单元121、用户输入单元122、存储器123、处理器124等部件。本领域技术人员可以理解,图12中示出的移动终端结构并不构成对移动终端的限定,移动终端12可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,尽管图12未示出,但是移动终端12还可以包括蓝牙模块、WiFi模块、射频模块、接口单元、传感器、电池等,在此不再赘述。
显示单元121用于显示由用户输入的信息或提供给用户的信息。显示单元121可包括显示面板1211,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1211。
在本实施例中,显示单元121可以包括一个或者一个以上的显示面板1211,用户,当用户需要分屏显示时,可以在不同的显示面板上显示不同的页面。如果显示单元121中只有一个显示面板1211,则该显示面板1211应当可以在处理器124的控制下实现分屏显示,这样,无论是一个显示面板,还是一个以上显示面板的移动终端12就可以同时对不同Stack中的相同目标Activity进行展示,实现布局相同页面的分屏显示。
用户输入单元122可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元122可包括触控面板1221以及其他输入设备1222。触控面板1221,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1221上或在触控面板1221附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1221可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器124,并能接收处理器124发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1221。除了触控面板1221,用户输入单元122还可以包括其他输入设备1222。具体地,其他输入设备1222可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。
进一步的,触控面板1221可覆盖显示面板1211,当触控面板1221检测到在其上或附近的触摸操作后,传送给处理器124以确定触摸事件的类型,随后处理器124根据触摸事件的类型在显示面板1211上提供相应的视觉输出。虽然在图1中,触控面板1221与显示面板1211是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板1221与显示面板1211集成而实现移动终端的输入和输出功能,具体此处不做限定。
本实施例中,用户可以通过触控面板1221向移动终端12的处理器124下发指令,从而让处理器124控制实现目标Activity的启动。
存储器123可用于存储软件程序以及各种数据。存储器123可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器123可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。本实施例中的存储器123中至少存储有可以实现第一实施例或第二实施例中活动窗口启动方法的计算机程序。
处理器124是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器123内的软件程序和/或模块,以及调用存储在存储器123内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器124可包括一个或多个处理单元;优选的,处理器124可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器124中。
当用户通过用户输入单元122中进行了满足启动Activity的操作之后,处理器124可以将用户的操作是做用于指示启动Activity的启动指令。然后判断焦点Stack中是否存在目标Activity。
处理器124判断焦点中是否存在目标Activity即是判断之前是否已经打开了了用户与任意联系人的聊天页面。如果是,则说明之前已经打开了布局相同的聊天页面,且该聊天页面当前可能还在后台运行,在这种情况下,进一步判断判断焦点Stack中的目标Activity是否处于激活状态。若处理器124判定焦点Stack中不存在目标Activity,则说明移动终端12之前没有打开布局相同的页面,若要按照用户要求打开该聊天页面,则需要创建目标Activity。
处理器124在当前焦点Stack中创建目标Activity时,可以在焦点Stack所管理的对应Task中创建目标Activity,若焦点Stack中暂时不存在对目标Activity进行管理的Task,则处理器124先在焦点Stack中创建对应的Task,然后再将目标Activity压至该Task的栈顶。
对于处理器124判定焦点Stack中存在目标Activity的情况,处理器124进一步判断焦点Stack中的目标Activity是否处于激活状态。若在焦点Stack中存在启动指令所对应的目标Activity,则说明移动终端12之前已经打开了该目标Activity所对应的聊天页面,当前该聊天页面可能是用户可见的,也可以在后台运行,并不可见。为了明白用户进行触控操作下发启动指令的目的到底是为了对聊天页面进行分屏显示,还是为了将处于后台运行的聊天页面调至前台显示,处理器124需要判断之前在焦点Stack中已经存在的目标Activity是否是处于激活状态,如果目标Activity处于激活状态,则说明当前显示给用户的页面正是聊天页面,那么用户在这种情况中下发启动指令就应当是为了实现聊天页面的分屏。具体的,处理器124首先需要创建分屏Stack,在本实施例中,分屏Stack可以为DockedStack,然后处理器124在分屏Stack中创建用于对目标进行管理的Task,例如在DockedStack中创建Task,让后将目标Activity压入该Task的栈顶。在分屏Stack中对目标Activity进行再创建之后,处理器124可以在用户的操作控制下完成对分屏Stack和焦点Stack所对应的两个显示屏幕的大小、形状等进行调节,然后控制显示单元121对分屏Stack和焦点Stack各自对应的目标Activity进行显示。
若处理器124判断焦点Stack中的目标Activity处于非为激活状态,则说明聊天页面对于用户不可见,用户当前下发启动指令是为了让后台运行的聊天页面进行前台显示。因此,处理器124可以直接对该目标Activity进行激活:处理器124可以先将目标Activity移动至其所在Task的栈顶,然后将该Task移动至到焦点Stack的栈顶,从而完成对目标Activity的激活。同样,处理器124也可以先将目标Activity所在的Task移动至到焦点Stack的栈顶,然后在将目标Activity移动至该Task的栈顶。在本实施例中并不限定处理器124在激活过程各操作的顺序,只要保证最终让目标Activity所属的Task成为焦点Stack的栈顶元素,且目标Activity也成为是其所属Task的栈顶元素即可。
在本实施例的另一示例当中,处理器124接收到用于指示启动目标Activity的启动指令后,会先判断焦点Stack中是否存在处于激活状态的目标Activity。若判断结果为是,则处理器124在分屏Stack中创建目标Activity,并对分屏Stack和焦点Stack所对应的显示屏幕进行调节。
若处理器124判断结焦点Stack中不存在处于激活状态的目标Activity,则处理器124需要继续判断焦点Stack中是否存在目标Activity。由于焦点Stack中不存在处于激活状态的目标Activity可能是因为在焦点Stack中存在目标Activity,但是目标Activity并没有处于激活状态;也有可能是因为在焦点Stack中根本就不存在目标Activity。因此,处理器124需要进一步判断焦点Stack中是否存在目标Activity,若有,则处理器124将焦点Stack中的目标Activity进行激活。否则,处理器124在当前焦点Stack中创建目标Activity。处理器124在焦点Stack所管理的对应Task中创建目标Activity,若焦点Stack中暂时不存在对目标Activity进行管理的Task,则焦点Stack需要先创建Task,然后再将目标Activity压至该Task的栈顶。
本实施例提供的移动终端,因为支持同一个目标活动窗口在两个堆栈中同时存在,所以支持页面布局相同的不同页面间的分屏,满足了用户在多种终端使用场景下的期望,在很大程度上契合了用户的实际需求,提升了用户体验。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种活动窗口启动方法,其特征在于,所述活动窗口启动方法包括:
接收用于指示启动目标活动窗口的启动指令;
确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口,激活状态为活动窗口支持与用户进行交互的状态;
若存在,则创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建,以同时利用所述焦点活动窗口堆栈和所述分屏活动窗口堆栈对所述目标活动窗口进行管理。
2.如权利要求1所述的活动窗口启动方法,其特征在于,所述接收用于指示启动目标活动窗口的启动指令之后,还包括:
确定所述焦点活动窗口堆栈中是否存在处于未激活状态的目标活动窗口;
若存在,则对所述目标活动窗口进行激活。
3.如权利要求2所述的活动窗口启动方法,其特征在于,所述对所述目标活动窗口进行激活包括:
将所述目标活动窗口移动至其所在任务栈的栈顶;
将所述任务栈移动至所述焦点活动窗口堆栈的栈顶。
4.如权利要求1所述的活动窗口启动方法,其特征在于,所述接收用于指示启动目标活动窗口的启动指令之后,还包括:
确定所述焦点活动窗口堆栈中不存在所述目标活动窗口;
在所述焦点活动窗口堆栈中创建所述目标活动窗口。
5.如权利要求1所述的活动窗口启动方法,其特征在于,所述确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口包括:
获取位于所述焦点活动窗口堆栈之栈顶的任务栈;
获取所述任务栈的栈顶元素,并确定所述栈顶元素是否为所述目标活动窗口,若是,则判定存在处于激活状态的目标活动窗口,若否,则判定不存在处于激活状态的目标活动窗口。
6.如权利要求1-5任一项所述的活动窗口启动方法,其特征在于,所述创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建包括:
创建分屏活动窗口堆栈,并在所述分屏活动窗口堆栈中创建用于管理所述目标活动窗口的分屏任务栈;
在所述分屏任务栈中创建所述目标活动窗口。
7.一种终端,其特征在于,所述终端包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的活动窗口启动程序,以实现以下步骤:
接收用于指示启动目标活动窗口的启动指令;
确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口,激活状态为活动窗口支持与用户进行交互的状态;
若存在,则创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建,以同时利用所述焦点活动窗口堆栈和所述分屏活动窗口堆栈对所述目标活动窗口进行管理。
8.如权利要求7所述的终端,其特征在于,所述处理器用于执行所述活动窗口启动程序,根据以下步骤实现创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建:
创建分屏活动窗口堆栈,并在所述分屏活动窗口堆栈中创建用于管理所述目标活动窗口的分屏任务栈;
在所述分屏任务栈中创建所述目标活动窗口。
9.如权利要求7或8所述的终端,其特征在于,所述终端还包括显示屏,所述创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建之后,所述处理器还用于执行所述活动窗口启动程序,以实现以下步骤:
控制所述显示屏的第一显示区对所述焦点活动窗口堆栈中的目标活动窗口进行展示,以及控制所述显示屏的第二显示区对所述分屏活动窗口堆栈中的目标活动窗口进行展示。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
接收用于指示启动目标活动窗口的启动指令;
确定当前焦点活动窗口堆栈中是否存在处于激活状态的目标活动窗口,激活状态为活动窗口支持与用户进行交互的状态;
若存在,则创建分屏活动窗口堆栈并在所述分屏活动窗口堆栈中对所述目标活动窗口进行再创建,以同时利用所述焦点活动窗口堆栈和所述分屏活动窗口堆栈对所述目标活动窗口进行管理。
CN201710495791.3A 2017-06-26 2017-06-26 一种活动窗口启动方法、终端及计算机可读存储介质 Pending CN107508961A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710495791.3A CN107508961A (zh) 2017-06-26 2017-06-26 一种活动窗口启动方法、终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710495791.3A CN107508961A (zh) 2017-06-26 2017-06-26 一种活动窗口启动方法、终端及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN107508961A true CN107508961A (zh) 2017-12-22

Family

ID=60679407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710495791.3A Pending CN107508961A (zh) 2017-06-26 2017-06-26 一种活动窗口启动方法、终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107508961A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647052A (zh) * 2018-04-28 2018-10-12 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN110134481A (zh) * 2019-05-20 2019-08-16 腾讯科技(深圳)有限公司 一种页面处理方法、装置以及相关设备
CN110764844A (zh) * 2019-10-25 2020-02-07 芜湖盟博科技有限公司 一种车载***上的多应用窗口自定义布局方法
CN111625163A (zh) * 2020-06-29 2020-09-04 海信电子科技(深圳)有限公司 一种显示设备及应用程序界面显示方法
CN111837378A (zh) * 2019-02-19 2020-10-27 Lg电子株式会社 移动终端及具有移动终端的电子设备
CN112328350A (zh) * 2020-11-17 2021-02-05 西安闻泰电子科技有限公司 分屏显示的方法、装置、电子设备和存储介质
US11025770B2 (en) 2019-02-19 2021-06-01 Lg Electronics Inc. Mobile terminal and electronic device having the same
US11086663B2 (en) 2018-05-10 2021-08-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Preloading application using active window stack
CN113407293A (zh) * 2021-08-19 2021-09-17 北京鲸鲮信息***技术有限公司 窗口管理方法、装置、设备和存储介质
CN113721809A (zh) * 2021-09-08 2021-11-30 遨博(江苏)机器人有限公司 一种窗口展示方法及***
CN114281439A (zh) * 2020-09-18 2022-04-05 华为技术有限公司 分屏方法、装置及电子设备
US11397590B2 (en) 2018-05-10 2022-07-26 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for preloading application, storage medium, and terminal
US11442747B2 (en) 2018-05-10 2022-09-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for establishing applications-to-be preloaded prediction model based on preorder usage sequence of foreground application, storage medium, and terminal
CN115080889A (zh) * 2022-07-26 2022-09-20 阿里巴巴(中国)有限公司 一种显示模式切换方法及装置
CN115086735A (zh) * 2022-05-11 2022-09-20 深圳康佳电子科技有限公司 一种多窗口多任务下的应用拼屏保活方法及其相关设备
US11467855B2 (en) 2018-06-05 2022-10-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Application preloading method and device, storage medium and terminal
US11604660B2 (en) 2018-05-15 2023-03-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for launching application, storage medium, and terminal
CN116302291A (zh) * 2023-05-11 2023-06-23 荣耀终端有限公司 应用显示方法、电子设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012044841A3 (en) * 2010-10-01 2012-05-18 Imerj LLC Smartpad split screen with keyboard
CN105335044A (zh) * 2014-08-11 2016-02-17 中兴通讯股份有限公司 分屏模式下的窗口显示处理方法及电子设备
CN106201241A (zh) * 2016-06-24 2016-12-07 北京奇虎科技有限公司 终端屏幕的分屏显示方法、装置及终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012044841A3 (en) * 2010-10-01 2012-05-18 Imerj LLC Smartpad split screen with keyboard
CN105335044A (zh) * 2014-08-11 2016-02-17 中兴通讯股份有限公司 分屏模式下的窗口显示处理方法及电子设备
CN106201241A (zh) * 2016-06-24 2016-12-07 北京奇虎科技有限公司 终端屏幕的分屏显示方法、装置及终端

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647052B (zh) * 2018-04-28 2020-12-01 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108647052A (zh) * 2018-04-28 2018-10-12 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
US11442747B2 (en) 2018-05-10 2022-09-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for establishing applications-to-be preloaded prediction model based on preorder usage sequence of foreground application, storage medium, and terminal
US11397590B2 (en) 2018-05-10 2022-07-26 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for preloading application, storage medium, and terminal
US11086663B2 (en) 2018-05-10 2021-08-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Preloading application using active window stack
US11604660B2 (en) 2018-05-15 2023-03-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for launching application, storage medium, and terminal
US11467855B2 (en) 2018-06-05 2022-10-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Application preloading method and device, storage medium and terminal
US11025770B2 (en) 2019-02-19 2021-06-01 Lg Electronics Inc. Mobile terminal and electronic device having the same
CN111837378A (zh) * 2019-02-19 2020-10-27 Lg电子株式会社 移动终端及具有移动终端的电子设备
CN110134481A (zh) * 2019-05-20 2019-08-16 腾讯科技(深圳)有限公司 一种页面处理方法、装置以及相关设备
CN110134481B (zh) * 2019-05-20 2023-07-14 腾讯科技(深圳)有限公司 一种页面处理方法、装置以及相关设备
CN110764844A (zh) * 2019-10-25 2020-02-07 芜湖盟博科技有限公司 一种车载***上的多应用窗口自定义布局方法
CN111625163A (zh) * 2020-06-29 2020-09-04 海信电子科技(深圳)有限公司 一种显示设备及应用程序界面显示方法
CN111625163B (zh) * 2020-06-29 2023-09-22 青岛海信移动通信技术有限公司 一种显示设备及应用程序界面显示方法
CN114281439A (zh) * 2020-09-18 2022-04-05 华为技术有限公司 分屏方法、装置及电子设备
CN112328350A (zh) * 2020-11-17 2021-02-05 西安闻泰电子科技有限公司 分屏显示的方法、装置、电子设备和存储介质
CN113407293A (zh) * 2021-08-19 2021-09-17 北京鲸鲮信息***技术有限公司 窗口管理方法、装置、设备和存储介质
CN113721809A (zh) * 2021-09-08 2021-11-30 遨博(江苏)机器人有限公司 一种窗口展示方法及***
CN113721809B (zh) * 2021-09-08 2023-07-04 遨博(江苏)机器人有限公司 一种窗口展示方法及***
CN115086735A (zh) * 2022-05-11 2022-09-20 深圳康佳电子科技有限公司 一种多窗口多任务下的应用拼屏保活方法及其相关设备
CN115080889B (zh) * 2022-07-26 2023-01-17 阿里巴巴(中国)有限公司 一种显示模式切换方法及装置
CN115080889A (zh) * 2022-07-26 2022-09-20 阿里巴巴(中国)有限公司 一种显示模式切换方法及装置
CN116302291A (zh) * 2023-05-11 2023-06-23 荣耀终端有限公司 应用显示方法、电子设备以及存储介质
CN116302291B (zh) * 2023-05-11 2023-10-20 荣耀终端有限公司 应用显示方法、电子设备以及存储介质

Similar Documents

Publication Publication Date Title
CN107508961A (zh) 一种活动窗口启动方法、终端及计算机可读存储介质
CN106933468A (zh) 一种用户界面切换方法及终端
US20120151368A1 (en) Application operating environment for mobile computing devices
CN109407930A (zh) 一种应用程序处理方法及终端设备
US20120287154A1 (en) Method and apparatus for controlling display of item
US11934648B2 (en) Permission setting method and apparatus and electronic device
CN106980445A (zh) 操控菜单的唤起方法及装置、电子设备
CN110008011A (zh) 一种任务切换方法及终端设备
CN112399006B (zh) 文件发送方法、装置及电子设备
CN113794795B (zh) 信息共享方法、装置、电子设备及可读存储介质
CN110244884A (zh) 一种桌面图标管理方法及终端设备
CN112433693A (zh) 分屏显示方法、装置及电子设备
CN106155768A (zh) 分屏运行应用的方法及装置
CN112269501A (zh) 图标移动方法、装置及电子设备
CN108388354A (zh) 一种输入法候选区域的显示方法和移动终端
CN111459350A (zh) 图标排序方法、装置及电子设备
CN103207726B (zh) 在便携式终端中提供快捷服务的装置和方法
CN104272712B (zh) 用户设备及其操作控制方法
CN113783995A (zh) 显示控制方法、装置、电子设备和介质
CN112286615B (zh) 应用程序的信息显示方法及装置
CN108710521A (zh) 一种便签生成方法和终端设备
CN110244889A (zh) 图片缩放方法、装置、终端及存储介质
CN113852540B (zh) 信息发送方法、信息发送装置和电子设备
CN109634508A (zh) 一种用户信息加载方法及装置
CN107728898A (zh) 一种信息处理方法及移动终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171222