CN113986408A - 应用页面显示方法和电子设备 - Google Patents
应用页面显示方法和电子设备 Download PDFInfo
- Publication number
- CN113986408A CN113986408A CN202010955785.3A CN202010955785A CN113986408A CN 113986408 A CN113986408 A CN 113986408A CN 202010955785 A CN202010955785 A CN 202010955785A CN 113986408 A CN113986408 A CN 113986408A
- Authority
- CN
- China
- Prior art keywords
- page
- application
- split
- task stack
- screen
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 340
- 230000004044 response Effects 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 145
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000875 corresponding effect Effects 0.000 description 642
- 230000000694 effects Effects 0.000 description 529
- 239000010410 layer Substances 0.000 description 89
- 230000008569 process Effects 0.000 description 66
- 230000001960 triggered effect Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 33
- 230000006854 communication Effects 0.000 description 33
- 238000012545 processing Methods 0.000 description 23
- 238000013461 design Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 21
- 230000009471 action Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 17
- 238000013523 data management Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 13
- 230000005236 sound signal Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000001976 improved effect Effects 0.000 description 10
- 238000007667 floating Methods 0.000 description 9
- 238000012384 transportation and delivery Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000003825 pressing Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 210000000577 adipose tissue Anatomy 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种应用页面显示方法和电子设备。该方法包括:显示第一应用的第一页面;响应于用户的第一操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合;在第一页面上接收用户的第二操作;响应于第二操作,在第一区域中显示第一应用的第三页面,且在第二区域中显示第二页面;和/或,在第二页面上接收用户的第三操作;响应于第三操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第四页面。从而,可解耦电子设备的不同分屏独立显示任意一个应用的多个页面,且任意一个分屏中打开的新页面不会对其他分屏中显示的页面造成干扰,给用户提供多任务或沉浸式体验。
Description
本申请要求于2020年07月09日提交中国专利局、申请号为202010658161.5、申请名称为“一种分屏显示应用界面的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,尤其涉及一种应用页面显示方法和电子设备。
背景技术
在大屏的电子设备中,应用程序基于等比例放大的技术,显示效果很不理想,出现了各种大图标大字体大图片、页面/字体/图片拉伸变形、错位、截断等不协调问题,而如果要适配电子设备的屏幕比例的话,应用程序的开发工作量太大。
当前的应用内分屏显示方案,左右分屏显示的页面存在强耦合的关联关系,即在左分屏页面中打开的新页面都会在右分屏中展示,导致右分屏中原先显示的页面被冲走,而在右分屏中打开的新页面又会把左分屏中显示的页面冲走,影响用户多任务操作,且一旦启动应用内分屏显示方案后,所有页面只能以分屏显示的方式打开,无法随用户需求在全屏显示和分屏显示之间自由切换。
发明内容
本申请提供一种应用页面显示方法和电子设备,可解耦电子设备的不同分屏独立显示任意一个应用的多个页面,且任意一个分屏中打开的新页面不会对其他分屏中显示的页面造成干扰,给用户提供多任务或沉浸式体验。
第一方面,本申请一种应用页面显示方法,包括:显示第一应用的第一页面;响应于用户的第一操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合。
在第一页面上接收用户的第二操作;响应于第二操作,在第一区域中显示第一应用的第三页面,且在第二区域中显示第二页面。和/或,
在第二页面上接收用户的第三操作;响应于第三操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第四页面。
其中,第一操作可以为多次点击操作,也可以为一次点击操作,也可以为一次长按操作,也可以为其他类型的一次或者多次操作,也可以为不同类型组合后的一次或者多次操作,本申请对第一操作的具体实现方式不做限定。
其中,第一页面可以为第一应用中的任意一个页面。例如,第一页面可以为第一应用的主页面,也可以为第一应用中除了主页面之外的页面。第二页面可以为第一应用中的任意一个页面,第一页面与第二页面的页面内容可以相同或者不同,本申请对此不限限定。
其中,第一区域和第二区域均为电子设备的显示区域。本申请对第一区域和第二区域的区域面积不做限定。另外,第一区域与第二区域可覆盖电子设备的全部显示区域,第一区域与第二区域可覆盖电子设备的部分显示区域,本申请对此不做限定。
在一些实施例中,若电子设备处于横屏状态,则第一区域为电子设备左屏的显示区域,第二区域可为电子设备右屏的显示区域;或者,第一区域为电子设备右屏的显示区域,第二区域可为电子设备左屏的显示区域。若电子设备处于竖屏状态,则第一区域为电子设备上屏的显示区域,第二区域可为电子设备下屏的显示区域;或者,第一区域为电子设备下屏的显示区域,第二区域可为电子设备上屏的显示区域。
在一种可能的设计中,第一区域和第二区域的区域面积相等。由此,提升用户浏览第一页面与第二页面的观感。
其中,第二操作为在第一页面上触发的操作,第二操作的类型包括但不限于点击、长按、拖拽等至少一种类型。第三操作为第二页面上触发的操作,第三操作的类型包括但不限于点击、长按、拖拽等至少一种类型。
其中,第三页面可以为第一应用中除了第一页面之外的其他页面,第四页面可以为第一应用中除了第二页面之外的其他页面,本申请对此不做限定。
本领域技术人员可以理解,活动(Activity)是一个Android应用(APP)的显示型组件,Activity提供窗口与用户进行交互,用于显示APP的内容。一个Activity通常是一个单独的窗口,该窗口可以充满电子设备的显示屏的显示区域,也可以小于电子设备的显示区域并悬浮在其他窗口之上。一个APP通常是由多个彼此松散联系的Activity组成。通常,APP可以指定某个Activity为主Activity,指的是用户首次启动APP时给用户呈现的Activity,对应的,主Activity所呈现窗口即为APP中的主页面。例如,微信应用的主页面为聊天对话框列表对应的页面。
任务(Task)是一个Activity的集合,它使用栈(即任务栈)的方式来管理栈中的Activity,这个栈又被称为返回栈(back stack),栈中的Activity的顺序就是按照Activity被打开的顺序依次存放的。
进而,本申请提及的页面可以理解为应用的向用户呈现的一个Activity,本申请提及的区域可以理解为应用的Activity所在任务栈所显示的区域。由此,第一区域对应的任务栈中的任意一个Activity的显示区域小于等于第一区域,第二区域对应的任务栈中的任意一个Activity的显示区域小于等于第二区域。
由于第一区域与第二区域不重合,故,第一区域对应的任务栈与第二区域对应的任务栈不同,便可确保第一区域中显示的页面与第二区域中显示的页面之间不会互相干扰。
基于前述描述,在第一页面显示在第一区域中且第二页面显示在第二区域中时,第一页面对应的第一任务栈与第二页面对应的第二任务栈不同,从而确保了第一页面的显示不会干扰第二页面的显示。
第三页面对应的任务栈与第二区域对应的任务栈不同,便可确保第三页面的显示不会干扰第二区域中如第二页面或第四页面等页面的显示。其中,第三页面对应的任务栈可以为第一任务栈,也可以为除了第一任务栈和第二任务栈之外的其他任务栈。
第四页面对应的任务栈与第一区域对应的任务栈不同,便可确保第四页面的显示不会干扰第一区域中如第一页面或第三页面等页面的显示。其中,第四页面对应的任务栈可以为第二任务栈,也可以为除了第一任务栈和第二任务栈之外的其他任务栈。
需要说明的是,上述提及的第一任务栈、第二任务栈、其他任务栈等任务栈均第一应用的任务栈。
通过第一方面的应用页面显示方法,在用户并行处理多任务时,电子设备可将任意一个应用从全屏显示主页面切为分屏显示该应用的其他页面,且从任意一个分屏中打开的新页面会销毁该分屏显示的页面并在该分屏中显示,解决了相关技术中由于不同分屏存在耦合关系而导致任意一个分屏打开的新页面会销毁其他分屏显示的页面的现象,避免了不同分屏中的页面之间的显示干扰,使得不同分屏中的页面可以独立运行,给用户提供多任务或沉浸式体验。另外,在该应用启动应用内分屏功能后,电子设备基于用户需求,可从分屏显示该应用的多个页面切换为全屏显示该应用的一个页面,也可从全屏显示该应用的一个页面切换为分屏显示该应用的多个页面,为用户提供高效且灵活的多窗口多任务体验。
在一种可能的设计中,方法还包括:在第三页面上接收用户的第四操作。响应于第四操作,在第一区域中显示第一页面,且在第二区域中显示第二页面。和/或,在第四页面上接收用户的第五操作。响应于第五操作,在第一区域中显示第一页面,且在第二区域中显示第二页面。
其中,第四操作为在第三页面上触发的操作,第四操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第三页面中可包括一控件,该控件用于表示从显示第三页面跳转至显示第一页面。且本申请对该控件的形状、位置、大小等参数不做限定。故,第四操作便为在该控件上触发的操作。
其中,第五操作为在第四页面上触发的操作,第五操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第四页面中可包括一控件,该控件用于表示从显示第四页面跳转至显示第二页面。且本申请对该控件的形状、位置、大小等参数不做限定。故,第五操作便为在该控件上触发的操作。
由此,电子设备可从第三页面与第二页面分屏显示跳转至第一页面与第二页面分屏显示,也可从第三页面与第四页面分屏显示跳转至第一页面与第二页面分屏显示,也可从第一页面与第四页面分屏显示跳转至第一页面与第二页面分屏显示,从而更加贴近用户操作,有利于提升用户的使用体验。
在一种可能的设计中,显示第一应用的第一页面之后,响应于用户的第一操作之前,方法还包括:在第二页面上接收用户的第六操作。响应于第六操作,显示第一控件,第一控件用于表示将第一页面和第二页面分屏显示。在第一控件上接收第一操作。
其中,第六操作为在第二页面上触发的操作,第六操作的类型包括但不限于点击、长按、拖拽等至少一种类型。且本申请对第一控件的形状、位置、大小等参数不做限定。故,在第一页面显示之后电子设备可向用户显示第二页面。此时,基于用户想要分屏的意愿,电子设备在第二页面上接收到第二操作时,便显示第一控件。电子设备在第一控件上接收到第一操作时,便可在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合。由此,基于用户意愿,为将第一页面与第二页面的分屏显示提供了一种可能的实现方式,更贴切用户的使用习惯。
在一种可能的设计中,响应于用户的第一操作之前,方法还包括:在第一页面上接收第一操作。在一些实施例中,第一页面中可包括一控件,该控件用于表示将第一页面和第二页面分屏显示。且本申请对该控件的形状、位置、大小等参数不做限定。故,第五操作便为在该控件上触发的操作。
综上,电子设备在第一页面上接收到第一操作时,便可在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合。由此,为将第一页面与第二页面的分屏显示提供了另一种可能的实现方式,为用户提供流畅的浏览体验。
在一种可能的设计中,方法还包括:在第一区域和第二区域的相邻区域中显示第二控件,第二控件用于调整第一区域和第二区域的区域面积。其中,第一区域和第二区域的相邻区域可以为第一区域和第二区域之间的区域。且本申请对第二控件的形状、位置、大小等参数不做限定。由此,基于用户意愿,为调整第一区域和第二区域的区域面积提供一种可能的实现方式,有利于提升用户的使用体验。
在一种可能的设计中,方法还包括:在第一页面和/或第二页面上接收用户的第七操作;响应于第七操作,显示第三控件,第三控件用于表示将第一页面全屏显示;在第三控件上接收第八操作;响应于第八操作,显示第一页面。
其中,第七操作可为在第一页面上触发的操作,也可以为在第二页面上触发的操作,也可为在第一页面和第二页面上触发的操作,本申请对此不做限定。在一些实施例中,第二页面中可包括一控件,该控件用于显示第三控件。且本申请对该控件和第三控件的形状、位置、大小等参数不做限定。另外,第七操作的类型包括但不限于点击、长按、拖拽等至少一种类型。
其中,第八操作可为在第三控件上触发的操作,第八操作的类型包括但不限于点击、长按、拖拽等至少一种类型。
综上,在第一页面与第二页面分屏显示时,电子设备在接收到第七操作时,便可显示第三控件。电子设备在第三控件上接收到第八操作时,便可显示第一页面。由此,基于用户意愿,为将第一页面与第二页面的分屏显示转换为第一页面的显示提供了一种可能的实现方式,更贴切用户的使用习惯。从而,在该应用启动应用内分屏功能进行显示时,该应用中的任意一个页面可按照用户需求在全屏显示和分屏显示之间自由切换,为用户提供高效且灵活的多窗口多任务体验。
在一种可能的设计中,方法还包括:在第二页面上接收用户的第九操作。响应于第九操作,显示第一页面。
其中,第九操作可为在第二页面上触发的操作,第九操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第二页面中可包括一控件,该控件用于表示将第一页面全屏显示。且本申请对该控件的形状、位置、大小等参数不做限定。故,第九操作便为在该控件上触发的操作。
综上,在第一页面与第二页面分屏显示时,电子设备在接收到第一操作时,便可显示第一页面。由此,为将第一页面与第二页面的分屏显示转换为第一页面的显示提供了另一种可能的实现方式,为用户提供流畅的浏览体验。从而,在该应用启动应用内分屏功能进行显示时,该应用中的任意一个页面可按照用户需求在全屏显示和分屏显示之间自由切换,为用户提供高效且灵活的多窗口多任务体验。
其中,第一页面的全屏显示可包括多种显示方式。
在一种可能的设计中,在第三区域中显示第一页面,第三区域包括第一区域和第二区域。由此,为第一页面的全屏显示提供了一种可能的实现方式,向用户尽可能大的展示第一页面,有利于用户浏览第一页面。
在一种可能的设计中,在第一区域中显示第一页面,且在第二区域中显示第一应用的第五页面,第五页面与第一页面和第二页面均不同。其中,第五页面可为第一应用中除了第一页面之外的其他页面,且第五页面的任务栈与第一任务栈相同。由此,为第一页面的全屏显示提供了另一种可能的实现方式,使得用户能够浏览更多页面的页面内容。
在一种可能的设计中,在第四区域中显示第一页面,第四区域至少包括第一区域的部分和第二区域的部分。由此,为第一页面的全屏显示提供了另一种可能的实现方式,向用户提供更为舒适的浏览体验。
在一种可能的设计中,第一页面对应第一任务栈,响应于用户的第一操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合,具体为:响应于第一操作,建立第二任务栈,并向第一应用发送第一消息,第一消息用于标识第一操作,第一操作与第二页面相关,第二页面对应第二任务栈,第一任务栈与第二任务栈不同。从第一应用接收第二消息,第二消息用于指示将第一页面与第二页面分屏显示。响应于第二消息,在第一区域中显示第一页面,且在第二区域中显示第二页面。
其中,本申请对第一消息和第二消息的具体实现方式不做限定。电子设备建立第二任务栈的步骤,以及电子设备向第一应用发送第一消息的步骤的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此也不做限定。且电子设备建立第二任务栈的步骤,需要在电子设备接收到第二消息之前。
其中,第二页面的启动模式设置为新建任务栈的模式。故,电子设备响应于第一操作,便可建立第二页面对应的第二任务栈。
在一种可能的设计中,响应于第二消息,在第一区域中显示第一页面,且在第二区域中显示第二页面,包括:
在基于第二消息,确定第二任务栈存在、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。
或者,
在基于第二消息,确定第一任务栈处于非分屏模式、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。
由此,在第二任务栈已建立时,电子设备基于上述条件,可实现在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中的过程。
需要说明的是,确定第一任务栈处于非分屏模式该条件也可以替换为确定是否存在第一任务栈这一个任务栈。
在一种可能的设计中,第二消息包括:第一标识、第二标识以及第三标识,第一标识用于指示将第一页面与任意一个页面分屏显示,第二标识用于表示任意一个页面的分屏位置,第三标识为任意一个页面的标识或者第二任务栈的标识。
在一种可能的设计中,第一页面对应第一任务栈,响应于用户的第一操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合,具体为:响应于第一操作,向第一应用发送第三消息,第三消息用于标识第一操作,第一操作与第二页面相关,第二页面对应第一任务栈;从第一应用接收第四消息,第四消息用于指示将第一页面与第二页面分屏显示;响应于第四消息,建立第二任务栈,第二页面从对应第一任务栈更改为对应第二任务栈,第一任务栈与第二任务栈不同;并在第一区域中显示第一页面,且在第二区域中显示第二页面。
其中,本申请对第三消息和第四消息的具体实现方式不做限定。
其中,第二页面的启动模式设置为非新建任务栈的模式。故,电子设备响应于第一操作,便不会建立第二页面对应的第二任务栈,且此时第二页面对应的任务栈为第一任务栈。电子设备在确定第四消息用于指示将第一页面与第二页面分屏显示时,建立第二任务栈,且第二页面对应第一任务栈更改为对应第二任务栈,即第二页面的Activity在第二任务栈中。
在一种可能的设计中,在第一区域中显示第一页面,且在第二区域中显示第二页面,包括:
在基于第四消息,确定第二页面对应第一任务栈、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。或者,
在基于第四消息,确定第一任务栈处于非分屏模式、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。
由此,在第二任务栈未建立时,电子设备基于上述条件,可建立第二任务栈,并实现在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中的过程。
需要说明的是,确定第一任务栈处于非分屏模式该条件也可以替换为确定是否存在第一任务栈这一个任务栈。
在一种可能的设计中,第四消息包括:第四标识、第五标识以及第六标识,第四标识用于指示将第一页面与任意一个页面分屏显示,第五标识用于表示任意一个页面的分屏位置,第六标识为任意一个页面的标识或者第一任务栈的标识。
在一种可能的设计中,响应于第二操作,在第一区域中显示第一应用的第三页面,具体为:接收第五消息,第五消息用于表示从第一页面中打开第三页面,第三页面对应第一任务栈;响应于第五消息,判断第一任务栈是否处于分屏模式;在第一任务栈处于分屏模式时,基于第一任务栈的标识、第三页面的标识以及第三页面的分屏参数,在第一任务栈中将第三页面显示在第一区域中。其中,本申请对第五消息的具体实现方式不做限定。
由此,电子设备在确定从第一页面中打开第三页面时,可判断第一任务栈是否处于分屏模式,即第一页面是否处于分屏显示的状态。从而,在确定第一任务栈处于分屏模式时,电子设备可在第一区域中显示第三页面,且在第二区域中的页面仍继续显示。
需要说明的是,除了第三页面对应的Activity在第一任务栈中之外,第三页面对应的Activity也可在除了第一任务栈和第二任务栈之外的其他任务栈中,且第一区域对的任务栈变为该其他任务栈,且上述显示第三页面的判断条件保持不变。
在一种可能的设计中,响应于第三操作,在第二区域中显示第一应用的第四页面,具体为:接收第六消息,第六消息用于表示从第二页面打开第四页面,第四页面对应第二任务栈;响应于第六消息,判断第二任务栈是否处于分屏模式;在第二任务栈处于分屏模式时,基于第二任务栈的标识、第四页面的标识以及第四页面的分屏参数,在第二任务栈中将第四页面显示在第二区域中。其中,本申请对第六消息的具体实现方式不做限定。
由此,电子设备在确定从第二页面中打开第四页面时,可判断第二任务栈是否处于分屏模式,即第二页面是否处于分屏显示的状态。从而,在确定第二任务栈处于分屏模式时,电子设备可在第二区域中显示第四页面,且在第一区域中的页面仍继续显示。
需要说明的是,除了第四页面对应的Activity在第二任务栈中之外,第四页面对应的Activity也可在除了第二任务栈和第一任务栈之外的其他任务栈中,且第二区域对的任务栈变为该其他任务栈,且上述显示第四页面的判断条件保持不变。
第二方面,本申请提供一种电子设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令使得电子设备执行第一方面及第一方面任一种可能的设计中的应用页面显示方法。
第三方面,本申请提供一种芯片系统,芯片系统应用于包括存储器、显示屏和传感器的电子设备;芯片系统包括:处理器;当处理器执行存储器中存储的计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的应用页面显示方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器使得电子设备执行时实现第一方面及第一方面任一种可能的设计中的应用页面显示方法。
第五方面,本申请提供一种计算机程序产品,包括:执行指令,执行指令存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取执行指令,至少一个处理器执行执行指令使得电子设备实现第一方面及第一方面任一种可能的设计中的应用页面显示方法。
附图说明
图1为本申请一实施例提供的一种电子设备的结构示意图;
图2a为本申请一实施例提供的一种电子设备的软件结构框图;
图2b为图2a中平行窗口管理器(HwMagicWindowManager)的软件结构框图;
图3A-图3F为本申请一实施例提供的一种应用页面显示方法的流程示意图;
图4A-图4W为本申请一实施例提供的人机交互界面示意图;
图5A-图5F为本申请一实施例提供的一种应用页面显示方法的流程示意图;
图6A-图6K为本申请一实施例提供的人机交互界面示意图;
图7A-图7G为本申请一实施例提供的人机交互界面示意图;
图8为本申请提供的一种应用页面显示方法的流程示意图;
图9A-图9C为本申请一实施例提供的人机交互界面示意图。
具体实施方式
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,单独a,单独b或单独c中的至少一项(个),可以表示:单独a,单独b,单独c,组合a和b,组合a和c,组合b和c,或组合a、b和c,其中a,b,c可以是单个,也可以是多个。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请提供一种应用页面显示方法和电子设备,可解耦电子设备的不同分屏独立显示任意一个应用的多个页面,且任意一个分屏中打开的新页面不会对其他分屏中显示的页面造成干扰,给用户提供多任务或沉浸式体验。另外,在该应用启动应用内分屏功能进行显示时,该应用中的任意一个页面可按照用户需求在全屏显示和分屏显示之间自由切换,为用户提供高效且灵活的多窗口多任务体验。
其中,本申请提及的应用内分屏功能可以理解为:电子设备可以同时实现任意一个应用的不同页面的分屏独立显示,且任意一分屏中打开的新的页面不会对其他分屏中显示的页面造成干扰。另外,本申请提及的分屏指的是左右分屏或者上下分屏。
其中,电子设备可以是平板电脑、手机(如折叠屏手机、大屏手机等)、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、智能电视、智慧屏、高清电视、4K电视、智能音箱、智能投影仪等物联网(the internet of things,IOT)设备,本申请对电子设备的具体类型不作任何限制。
下面以电子设备为平板电脑为例,结合图1,介绍本申请涉及的电子设备。
图1为本申请一实施例提供的一种电子设备的结构示意图。如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请以分层架构的Android系统为例,示例性说明电子设备100的软件结构。其中,本申请对电子设备的操作系统的类型不做限定。例如,Android系统、Linux系统、Windows系统、iOS系统、鸿蒙操作系统(harmony operating system,鸿蒙OS)等。
图2a为本申请一实施例提供的一种电子设备的软件结构框图。如图2a所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层(APP),应用程序框架层(APP framework),安卓运行时(Android runtime)和系统库(libraries),以及内核层(kernel)。
应用程序层可以包括一系列应用程序包。
如图2a所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,游戏,聊天,购物,出行,即时通信(如短信息),智能家居,设备控制等应用程序(application,APP)。
其中,智能家居应用可用于对具有联网功能的家居设备进行控制或管理。例如,家居设备可以包括电灯、电视和空调。又如,家居设备还可以包括防盗门锁、音箱、扫地机器人、插座、体脂秤、台灯、空气净化器、电冰箱、洗衣机、热水器、微波炉、电饭锅、窗帘、风扇、电视、机顶盒、门窗等。
另外,应用程序包还可以包括:主屏幕(即桌面),负一屏,控制中心,通知中心等应用程序。
其中,负一屏,又可称为“-1屏”,是指在电子设备的主屏幕向右滑动屏幕,直至滑动至最左侧分屏的用户界面(user interface,UI)。例如,负一屏可以用于放置一些快捷服务功能和通知消息,比如全局搜索、应用程序某个页面的快捷入口(付款码、微信等)、即时信息及提醒(快递信息、支出信息、通勤路况、打车出行信息、日程信息等)及关注动态(足球看台、篮球看台、股票信息等)等。控制中心为电子设备的上滑消息通知栏,即当用户在电子设备的底部开始进行向上滑动的操作时电子设备所显示出的用户界面。通知中心为电子设备的下拉消息通知栏,即当用户在电子设备的顶部开始进行向下操作时电子设备所显示出的用户界面。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2a所示,应用程序框架层可以包括第三方接口层(EasyGoSDK),活动管理器,窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器,平行窗口管理器(HwMagicWindowManager)等。
第三方接口层(EasyGoSDK):用于和第三方应用对接的接口层,适配于各个第三方应用。通常,应用程序可划分为系统应用和第三方应用。其中,系统应用可以理解为非独立且依赖于软件系统的应用程序。第三方应用为除了系统应用程序之外的应用程序,第三方应用可以包括但不限于:设备厂商的自研应用(如华为welink)和非设备厂商的应用(如微信/淘宝)等。
活动管理器(Activity manager):与软件系统中所有正在运行着的活动(Activity)进行交互,对软件系统中所有正在运行着的活动(Activity)相关信息(如任务(Task),存储(Memory),服务(Service),进程(Process),APP)等)进行管理和维护;提供了用于获取Activity相关信息相应的接口。
其中,Activity是一个Android APP的显示型组件,Activity提供窗口与用户进行交互,用于显示APP的内容。一个Activity通常是一个单独的窗口,该窗口可以充满电子设备的显示屏的显示区域,也可以小于电子设备的显示区域并悬浮在其他窗口之上。一个APP通常是由多个彼此松散联系的Activity组成。通常,APP可以指定某个Activity为主Activity,指的是用户首次启动APP时给用户呈现的Activity,对应的,主Activity所呈现窗口即为APP中的主页面。例如,微信应用的主页面为聊天对话框列表对应的页面。
窗口管理器(window manager)用于管理窗口程序,如管理窗口状态、属性、视图(view)增加、删除、更新、窗口顺序、消息收集和处理等。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。并且,窗口管理器为外界访问窗口的入口。
内容提供器用于存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器(resource manager)为应用程序提供各种资源,比如本地化字符串,图标,图片,用户界面的布局文件(layout xml),视频文件,字体,颜色,用户界面组件(userinterface module,UI组件)的身份证标识号(identity document,ID)等。并且,资源管理器用于统一管理前述资源。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
平行窗口管理器(HwMagicWindowManager)为软件系统的定制服务,即HwMagicWindowService,运行在系统服务(system server)中,其最主要的功能是通过结合服务内部多个数据模块封装出一系列策略接口,在原生应用程序框架层中Activity的启动、管理、显示等流程中嵌入打桩流程,执行HwMagicWindowService的策略,为各个应用实现应用内分屏功能(MagicWindow)提供基础框架。
其中,打桩流程是指用来代替关联代码或者未实现代码的代码,即编写或生成桩代码。打桩流程的用途之一在于测试时设定HwMagicWindowService的策略相关代码的行为,使之符合测试需求。
请参阅图2b,图2b示出了平行窗口管理器(HwMagicWindowManager)的软件结构框图。如图2b所示,平行窗口管理器(HwMagicWindowManager)可以包括:策略(policy)模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块。
策略模块:执行应用内分屏功能的策略,包括Activity启动策略、进程启动策略、窗口显示策略等。
配置模块:加载特性配置参数。其中,特性配置参数如:窗口大小的边界(bounds)信息,如窗口大小和分屏大小。
数据管理模块:设置上的用户选择数据等。其中,设置上的用户选择数据可以理解为用户在电子设备的设置应用中对各个应用是否开启应用内分屏功能对应的配置参数。另外,数据管理模块还可以关联其他数据。
背景图层绘制模块:在电子设备存在窗口切换时,实现背景UI的显示。其中,背景UI可以采用高斯模糊处理后的壁纸,也可以采用高斯模糊处理后的某一页面,也可以采用全黑显示,也可以采用主界面等,本申请对此不做限定。
例如,在电子设备从分屏切换至全屏时,实现背景UI的显示。又如,在电子设备从全屏切换至分屏时,实现背景UI的显示。又如,在左右分屏进行切换时,实现背景UI的显示。
动效模块:应用内分屏功能启动后自定义的动效接口模块,如窗口启动动效、分屏/全屏窗口切换动效、左右分屏窗口关闭动效等接口。
安卓运行时包括核心库和虚拟机。安卓运行时负责Android系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是Android系统的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGLES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合利用智能音箱播放声音的场景,示例性说明电子设备100的软件和硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为智能音箱图标的控件为例,智能音箱应用调用应用框架层的接口,启动智能音箱应用,进而通过调用内核层启动音频驱动,通过扬声器170A将音频电信号转换成声音信号。
可以理解的是,本申请示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
基于前述描述,针对任意一个安装在电子设备中的应用,电子设备支持该应用的多个页面的应用内分屏显示,实现该应用的应用内分屏功能。此处的应用内分屏显示可以理解为该应用内的两个页面分别采用两个窗口进行显示,这两个窗口可以左右分屏或者上下分屏。左右分屏指的是在电子设备分别显示该应用的两个页面时,前述两个页面对应的窗口并排设置在电子设备的显示屏中。通常电子设备在处于横屏状态时可实现左右分屏显示。上下分屏指的是在电子设备分别显示该应用的两个页面时,前述两个页面对应的窗口上下设置在电子设备的显示屏中。通常电子设备在处于竖屏状态时可实现左右分屏显示。
假设A页面为该应用中的主页面,即A页面对应的Activity为该应用的主Activity。
a0页面为该应用中默认的一个页面(即副页面),且A页面对应的Activity和a0页面对应的Activity运行在同一个task中(可以理解为同一个栈/任务栈中)。另外,a0页面通常由第三方开发者自定义设置。在该应用启动后,A页面与a0页面同时显示在电子设备的显示屏中,a0页面起到美观的修饰作用,使得该应用的显示页面能够更适应于电子设备的显示屏,实现较佳的显示效果。其中,a0页面中可以包括该应用的图标,也可以包括为用户提供该应用的某些功能的控件,本申请对a0页面的具体内容不做限定。
a1页面为A页面的一个子页面,可为该应用中除了A页面之外的任意一个页面。其中,A页面对应的Activity可启动a1页面对应的Activity,且A页面对应的Activity和a1页面对应的Activity运行在同一个task中(可以理解为同一个栈/任务栈中)。
控件B用于触发B页面的显示。其中,用户可从A页面触发控件B,也可以从a1页面触发控件B,本申请对此不做限定。其中,本申请提及触发控件的方式可以包括点击、长按、滑动、语音搜索、长按、文本输入等各种实现方式。且本申请提及的控件可以包括但不限于按钮、输入框、图标、文字等。
B页面为该应用中除了主页面和a1页面之外的页面。例如,在该应用为微信应用时,B页面可以为微信应用中的某个公众号的任意一个页面,或者,B页面可以为微信应用中的某个网页的页面,或者,B页面可以为微信应用中的某个小程序的任意一个页面。又如,在该应用为视频应用时,B页面可以为视频应用中除了主页面之外的任意一个页面,如某个视频的页面。又如,在该应用为今日头条应用时,B页面可以为今日头条应用中除了主页面之外的任意一个页面,如某个新闻的页面。
本申请中,在A页面与B页面分屏显示时,A页面对应的Activity和B页面对应的Activity运行在不同的task中(可以理解为不同的栈/任务栈中)。
在一些实施例中,B页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,确保B页面对应的Activity在其任务栈内的唯一性,进而B页面的启动方式为newtask启动。从而,在触发B页面显示时,电子设备的软件系统便建立新的任务栈,且B页面对应的Activity便在该新的任务栈中运行。
在另一些实施例中,B页面对应的Activity的启动模式(launchMode)并不设置为singleInstance模式。在触发B页面显示时,电子设备的软件系统并不会建立新的任务栈,而是在接收用户触发用于B页面中的分屏控件之后,电子设备确定A页面与B页面需要分屏显示时,建立新的任务栈,且B页面对应的Activity便在该新的任务栈中运行。
在一些实施例中,用户可从B页面触发控件D,控件D用于触发D页面的显示。D页面为该应用中除了B页面之外的页面。
那么,基于前述描述,结合场景一和场景二,以电子设备处于横屏状态,且电子设备左右分屏显示该应用的两个页面为例,介绍电子设备实现该应用的应用内分屏功能的具体实现过程。
场景一
场景一中,电子设备检测到用户指示的触发在A页面中的控件B的操作后,可实现A页面和B页面的分屏显示,进而实现该应用的应用内分屏功能。
请参阅图3A-图3F,图3A-图3F为本申请一实施例提供的一种应用页面显示方法的流程示意图。其中,图3A示出了从该应用的当前页面显示到下一个页面的流程,图3B示出了从该应用的当前页面返回到上一个页面的流程,且图3A-图3B中的显示页面相同。
0、A页面的显示
在电子设备处于横屏状态下,电子设备的显示屏可显示如图3A的(1a)中所示的界面,该界面中包括A页面和a0页面。
图3A的(1a)中,该界面显示的A页面中包括控件B,用于表示用户可从A页面触发控件B。该界面显示的A页面中还包括控件C1,用于表示用户可以从A页面触发控件C1。其中,控件C1用于触发C1页面的显示,C1页面均为该应用中除了主页面和B页面之外的页面。C1页面也可以包括a1页面,也可以不包括a1页面,本申请对此不做限定。
其中,A页面可以全屏显示,如图3A的(1b)所示,也可以显示在显示屏的部分显示区域中,如仅A页面显示在显示屏的部分显示区域中(如图3A的(1c)所示)或者A页面与a0页面左右分屏显示(如图3A的(1a)所示),本申请对A页面的显示方式不做限定,具体根据应用自身的配置参数和软件系统的配置参数进行设置。为了便于说明,场景一中采用如图3A的(1a)所示的A页面在左分屏中显示且a0页面在右分屏中显示为例进行示意。
在一些实施例中,该界面显示的A页面中还可包括返回控件01(图3A中未示意),用于表示用户可从A页面触发该返回控件01,返回控件01用于触发退出A页面或者退出该应用。例如,用户可对从A页面触发返回控件01,电子设备可弹出A页面对应的Activity,使得电子设备的显示屏显示电子设备的桌面。
1、A页面和B页面的左右分屏显示(对应于如图3A所示的步骤S11)
在一些实施例中,电子设备在检测到用户指示的触发在A页面中的控件B的操作101后,若B页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则可建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),并在这个新的Task中启动B页面对应的Activity。
其中,前述新的Task与A页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与A页面对应的Activity不同的一个task中。控件B可参见前文描述,此处不做赘述。
在B页面对应的Activity启动后,电子设备可以默认显示B页面(即如图3A的(2)中所示的全屏显示或者在部分显示区域进行显示)。并且,B页面中包括分屏/全屏控件,用于表示用户可从B页面触发分屏/全屏控件,分屏/全屏控件用于B页面的分屏显示或者全屏显示。
电子设备在检测到用户指示的触发在B页面中的分屏/全屏控件的操作102后,可向该应用发送消息1,消息1用于标识前述操作102,使得该应用可以从电子设备的软件系统中获取B页面对应的Activity的taskID,基于前述操作102确定B页面的分屏位置,以及基于前述操作102确定应用内分屏显示的方法(method)1的方法名(称为setTaskPosition),方法1用于表示将A页面与B页面实现分屏显示。其中,本申请对消息1的表示方式不做限定。例如,消息1可以包含前述操作102的报点坐标。
其中,上述提及的分屏位置可以为显示屏的全部显示区域(即全屏),也可以为显示屏的左边显示区域(即左分屏),也可以为显示屏的右边显示区域(即右分屏),本申请对此不做限定。为了便于说明,分屏位置可采用targetPosition进行表示。一般情况下,在任意一个页面全屏显示时,targetPosition设置为0;在任意一个页面左分屏显示时,targetPosition设置为1;在任意一个页面右分屏显示时,targetPosition设置为2。在一些实施例中,该应用可设置targetPosition为2,即设置B页面右分屏显示。
故,由于前述操作102是在B页面中的分屏/全屏控件上触发的,且电子设备可获取在前述操作102之前电子设备为全屏显示,即targetPosition设置为0,因此,在电子设备接收到前述操作102时,电子设备可确定用户的意图为将A页面与B页面分屏显示,进而,电子设备确定B页面的分屏位置,即targetPosition设置1或2。需要说明的是,通常在A页面与B页面进行分屏显示时,targetPosition默认设置为2。
综上,电子设备的软件系统向该应用通知前述操作102,使得该应用可获得B页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)1的方法名(称为setTaskPosition)。
需要说明的是,电子设备响应于操作101建立一个新的Task的执行步骤,电子设备的软件系统向该应用发送前述操作101的执行步骤,在时序上不分先后,可同时执行,也可顺序执行,本申请对此不做限定。
基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息2,消息2中携带有方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。
其中,本申请对消息2的表示方式不做限定。例如,分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params1进行传递。需要说明的是,B页面对应的Activity的taskID可以替换为B页面的ID,本申请对此不做限定,只需传输用于表示B页面的标识即可。其中,本申请对该标识不做限定。
另外,调用(invoke)接口的定义如表1所示:
表1调用(invoke)接口的定义
基于表1,以实现切换task分屏位置的功能为例,调用(invoke)接口的使用说明可采用如下代码进行表示:
参数:
function="magicwindow"
method="setTaskPosition"//标识方法名
params.put("@int:taskID")//标识生效的taskID
params.put("@int:targetPosition")//标识targetPosition,targetPosition的取值范围为0、1或2
返回值:
easyGoRet.code=0//调用成功
基于上述描述,以设置窗口位置为例,调用(invoke)接口的具体实现方式采用如下代码进行表示:
综上,第三方接口层(EasyGoSDK)可以获取到方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法1的方法名(setTaskPosition)、分屏位置(targetPosition)、B页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params2进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:
平行窗口管理器(HwMagicWindowManager)判断接收到方法1的方法名(setTaskPosition)以及params2的内容是否为空。在方法1的方法名(setTaskPosition)以及params2的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤11-1、平行窗口管理器(HwMagicWindowManager)可基于B页面对应的Activity的taskID,可判断该taskID对应的Activity是不是当前任务栈的栈顶Activity(即判断焦点任务栈是否存在),进而电子设备在该taskID对应的Activity是当前任务栈的栈顶Activity时可确保存在当前任务栈。
其中,步骤11-1为可选的步骤。
步骤11-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,电子设备判断该包名对应的应用是否支持应用内分屏功能的具体过程可以是:电子设备可判断该包名对应的应用本身是否支持应用内分屏功能,以及判断电子设备是否开启该应用的应用内分屏功能。
在电子设备可确定该包名对应的应用本身支持应用内分屏功能,以及电子设备开启该应用的应用内分屏功能时,电子设备可确定该包名对应的应用支持应用内分屏功能。
其中,电子设备可以事先将支持应用内分屏功能的应用对应的包名进行存储(如设置白名单),也可以从每个应用的AndroidManifest.xml文件中获取用于表示该应用是否支持应用内分屏功能的标识,本申请对此不做限定。进而,电子设备可基于前述描述,确定该包名对应的应用本身是否支持应用内分屏功能。
其中,数据管理模块存储有设置应用中各个应用的用户选择数据,每个应用的用户选择数据可用于表示电子设备是否开启该应用的应用内分屏功能。进而,电子设备可从数据管理模块中获取设置应用中该包名对应的应用的用户选择数据,并基于该包名对应的应用的用户选择数据判断电子设备是否开启该应用的应用内分屏功能,进而,电子设备可确定该包名对应的应用本身是否支持应用内分屏功能。
步骤11-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是1或2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的右屏显示。
其中,分屏显示的预设要求与电子设备显示B页面的方式(即分屏或者全屏显示)有关。
电子设备在B页面全屏显示时,分屏显示的预设要求可表示B页面可处于分屏显示。例如,targetPosition的值可设置为1或者2,从而,电子设备在需要将全屏显示的B页面实现分屏显示时,可判断targetPosition的值是否为1或者2。若targetPosition的值为1或者2,则电子设备判断B页面的移动位置符合分屏显示的预设要求。
电子设备在B页面分屏显示时,分屏显示的预设要求可表示B页面不可分屏显示,且可全屏显示。例如,targetPosition的值可设置为0,从而,电子设备在需要将分屏显示的B页面实现全屏显示时,可targetPosition的值是否为0。若argetPosition的值为0,则电子设备判断B页面的移动位置符合分屏显示的预设要求。
其中,步骤11-1、步骤11-2和步骤11-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤11-1、步骤11-2和步骤11-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)基于该应用的包名(package name),可确定出A页面对应的Activity的taskID。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID,可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,A页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图3A的(3)中所示的A页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图3C,对电子设备实现A页面和B页面的分屏显示的实现过程进行具体阐述。
如图3C所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S31、电子设备显示A页面。
S321、电子设备在A页面上接收到用户的操作101时,建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并显示B页面。
S322、电子设备在B页面上接收到用户的操作102时,向该应用发送消息1,消息1用于标识操作102。
S33、应用响应于消息1,获得方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S34、应用向第三方接口层(EasyGoSDK)发送消息2,消息2中携带有方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S35、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、B页面对应的Activity的taskID以及该应用的包名(package name)。
S361、平行窗口管理器(HwMagicWindowManager)判断B页面对应的Activity的taskID对应的Activity是否为当前任务栈的栈顶Activity。
步骤S361为可选地的步骤。
S362、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S363、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S37、平行窗口管理器(HwMagicWindowManager)在S361、S362以及S363的判断结果均为是时,基于该应用的包名(package name),确定出A页面对应的Activity的taskID,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S361、S362以及S363中的任意一个步骤的判断结果为否时,继续显示B页面。
S38、平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示A页面和B页面。
需要说明的是,图3C示例性所示的具体实现过程可参见前述内容,此处不做赘述。
在另一些实施例中,电子设备在检测到用户指示的触发在A页面中的控件B的操作101后,若B页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则可建立一个可建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),并在一个新的Task中启动B页面对应的Activity。
其中,前述新的Task与A页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与A页面对应的Activity不同的一个task中。控件B可参见前文描述,此处不做赘述。
并且,电子设备可以向该应用发送消息3,消息3用于标识前述操作101,则该应用响应于前述操作101,可以从电子设备的软件系统中获取B页面对应的Activity的task的ID(简称为taskID),基于前述操作101确定B页面的分屏位置,以及基于前述操作101确定应用内分屏显示的方法(method)1的方法名(称为setTaskPosition),方法1用于表示将A页面与B页面实现分屏显示。其中,本申请对消息3的表示方式不做限定。例如,消息3可以为前述操作101的报点坐标。
其中,上述提及的分屏位置可参见前述提及的分屏位置的描述,此处不做赘述。
综上,电子设备的软件系统向该应用通知前述操作101,使得该应用可获得B页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)1的方法名(称为setTaskPosition)。
需要说明的是,电子设备响应于操作101建立一个新的Task的执行步骤,电子设备的软件系统向该应用发送前述操作101的执行步骤,在时序上不分先后,可同时执行,也可顺序执行,本申请对此不做限定。
基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息4,消息4中携带有方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。
其中,本申请对消息4的表示方式不做限定。例如,分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params1进行传递。需要说明的是,B页面对应的Activity的taskID可以替换为B页面的ID,本申请对此不做限定,只需传输用于表示B页面的标识即可。其中,本申请对该标识不做限定。
综上,第三方接口层(EasyGoSDK)可以获取到方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法1的方法名(setTaskPosition)、分屏位置(targetPosition)、B页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params2进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:平行窗口管理器(HwMagicWindowManager)判断接收到方法1的方法名(setTaskPosition)以及params2的内容是否为空。在方法1的方法名(setTaskPosition)以及params2的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤12-1、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断A页面对应的Activity的任务栈是否处于非分屏模式(即该Activity对应的A页面是否不处于分屏显示的状态)。其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈的数量是否为一个,来判断A页面对应的Activity的任务栈是不是处于非分屏模式。从而,在确定电子设备当前显示的页面对应的任务栈的数量为一个时,平行窗口管理器(HwMagicWindowManager)可确定A页面对应的Activity的任务栈处于非分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示A页面对应的Activity的任务栈是否处于非分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于非分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定A页面对应的Activity的任务栈处于非分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确A页面对应的Activity的任务栈是否处于非分屏模式。
步骤12-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,步骤12-2的具体实现方式可参见步骤11-2的描述,此处不做赘述。
步骤12-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的右屏显示。
其中,步骤12-3的具体实现方式可参见步骤11-3的描述,此处不做赘述。
另外,步骤12-1、步骤12-2和步骤12-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤12-1、步骤12-2和步骤12-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)基于该应用的包名(package name),可确定出A页面对应的Activity的taskID。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID,可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,A页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图3A的(3)中所示的A页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图3D,对电子设备实现A页面和B页面的分屏显示的实现过程进行具体阐述。
如图3D所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S31、电子设备显示A页面。
S32'、电子设备在A页面上接收到用户的操作101时,建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并向该应用发送消息3,消息3用于标识操作101。
S33'、应用响应于消息3,获得方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S34、应用向第三方接口层(EasyGoSDK)发送消息4,消息4中携带有方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S35、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、B页面对应的Activity的taskID以及该应用的包名(package name)。
S361'、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断A页面对应的Activity的taskID的任务栈是否处于非分屏模式(即该Activity对应的A页面是否不处于分屏显示的状态)。
S362、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S363、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S37、平行窗口管理器(HwMagicWindowManager)在S361'、S362以及S363的判断结果均为是时,基于该应用的包名(package name),确定出A页面对应的Activity的taskID,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S361、S362以及S363中的任意一个步骤的判断结果为否时,继续显示A页面。
S38、平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示A页面和B页面。
需要说明的是,图3D示例性所示的具体实现过程可参见前述内容,此处不做赘述。并且,图3C与图3D不同的是:图3C的步骤S321、S322-S33与图3D的步骤S32'-S33',以及图3C的步骤S361与图3D的步骤S361',其余步骤均相同。
另外,图3C和图3D中的操作101用于标识不同的含义,可为相同类型或者不同类型的操作。图3C中的操作101用于标识从显示一个任务栈中的A页面跳转到显示另一个任务栈中的B页面。图3D中的操作101用于标识从显示一个任务栈中A页面跳转到同时显示一个任务栈中的A页面和另一个任务栈中的B页面。
在另一些实施例中,电子设备在检测到用户指示的触发在A页面中的控件B的操作101后,若B页面对应的Activity的启动模式(launchMode)不设置为singleInstance模式,则显示B页面,且A页面对应的Activity与B页面对应的Activity均在同一个task中。
在B页面对应的Activity启动后,电子设备可以默认显示B页面(即如图3A的(2)中所示的全屏显示或者在部分显示区域进行显示)。并且,B页面中包括分屏/全屏控件,用于表示用户可从B页面触发分屏/全屏控件,分屏/全屏控件用于B页面的分屏显示或者全屏显示。
电子设备在检测到用户指示的触发在B页面中的分屏/全屏控件的操作102后,可向该应用发送消息5,消息5用于标识前述操作102,使得该应用可以从电子设备的软件系统中获取A页面对应的Activity的taskID,基于前述操作102确定B页面的分屏位置,以及基于前述操作102确定应用内分屏显示的方法(method)1的方法名(称为setTaskPosition),方法1用于表示将A页面与B页面实现分屏显示。其中,本申请对消息5的表示方式不做限定。例如,消息5可以包含前述操作102的报点坐标。
其中,上述提及的分屏位置可参见前述提及的分屏位置的描述,此处不做赘述。
综上,电子设备的软件系统向该应用发送前述操作102,使得该应用可获得A页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)1的方法名(称为setTaskPosition)。基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息6,消息6中携带有方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及A页面对应的Activity的taskID。
其中,本申请对消息6的表示方式不做限定。例如,分屏位置(targetPosition)以及A页面对应的Activity的taskID可采用参数params1进行传递。需要说明的是,A页面对应的Activity的taskID可以替换为A页面的ID,本申请对此不做限定,只需传输用于表示A页面的标识即可。其中,本申请对该标识不做限定。
综上,第三方接口层(EasyGoSDK)可以获取到方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及A页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法1的方法名(setTaskPosition)、分屏位置(targetPosition)、A页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及A页面对应的Activity的taskID可采用参数params2进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:
平行窗口管理器(HwMagicWindowManager)判断接收到方法1的方法名(setTaskPosition)以及params2的内容是否为空。在方法1的方法名(setTaskPosition)以及params2的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤13-1、平行窗口管理器(HwMagicWindowManager)可基于A页面对应的Activity的taskID,可判断该taskID对应的任务栈是否为当前任务栈,进而电子设备在该taskID对应的任务栈是当前任务栈时可确保存在当前任务栈。
其中,步骤13-1为可选的步骤。
步骤13-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,步骤13-2的具体实现方式可参见步骤11-2的描述,此处不做赘述。
步骤13-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的右屏显示。
其中,步骤13-3的具体实现方式可参见步骤11-3的描述,此处不做赘述。
另外,步骤13-1、步骤13-2和步骤13-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤13-1、步骤13-2和步骤13-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)可建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),并在这个新的Task中启动B页面对应的Activity。
其中,前述新的Task与A页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与A页面对应的Activity不同的一个task中。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID(即新的Task的ID),可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,A页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图3A的(3)中所示的A页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图3E,对电子设备实现A页面和B页面的分屏显示的实现过程进行具体阐述。
如图3E所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S51、电子设备显示A页面。
S521、电子设备在A页面上接收到用户的操作101时,显示B页面。其中,B页面对应的任务栈与A页面对应的任务栈为同一个任务栈,在该任务栈中启动B页面对应的Activity,实现B页面的显示。
S522、电子设备在B页面上接收到用户的操作102时,向该应用发送消息5,消息5用于标识操作102。
S53、应用响应于消息5,获得方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及A页面对应的Activity的taskID。
S54、应用向第三方接口层(EasyGoSDK)发送消息6,消息6中携带有方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及A页面对应的Activity的taskID。
S55、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、A页面对应的Activity的taskID以及该应用的包名(package name)。
S561、平行窗口管理器(HwMagicWindowManager)判断A页面对应的Activity的taskID对应的任务栈是否为当前任务栈。
步骤S561为可选地的步骤。
S562、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S563、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S57、平行窗口管理器(HwMagicWindowManager)在S561、S562以及S563的判断结果均为是时,建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S561、S562以及S563中的任意一个步骤的判断结果为否时,继续显示B页面。
S58、平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示A页面和B页面。
需要说明的是,图3E示例性所示的具体实现过程可参见前述内容,此处不做赘述。并且,图3E与图3C不同的是:图3E的步骤S57中建立新的任务栈的时序与图3C的S321中建立新的任务栈的时序,以及图3E传输的A页面对应的Activity的taskID与图3C的B页面对应的Activity的taskID,其余步骤类似。
另外,图3C和图3E中的操作101用于标识不同的含义,可为相同类型或者不同类型的操作。图3C中的操作101用于标识从显示一个任务栈中的A页面跳转到另一个任务栈中的显示B页面。图3E中的操作101用于标识从显示一个任务栈中的A页面跳转到显示该任务栈中的B页面。
在另一些实施例中,电子设备在检测到用户指示的触发在A页面中的控件B的操作101后,若B页面对应的Activity的启动模式(launchMode)不设置为singleInstance模式,则可以向该应用发送消息7,消息7用于标识前述操作101,则该应用响应于前述操作101,可以从电子设备的软件系统中获取A页面对应的Activity的task的ID(简称为taskID),基于前述操作101确定B页面的分屏位置,以及基于前述操作101确定应用内分屏显示的方法(method)1的方法名(称为setTaskPosition),方法1用于表示将A页面与B页面实现分屏显示。其中,本申请对消息7的表示方式不做限定。例如,消息7可以为前述操作101的报点坐标。
其中,上述提及的分屏位置可参见前述提及的分屏位置的描述,此处不做赘述。综上,电子设备的软件系统向该应用发送前述操作101,使得该应用可获得A页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)1的方法名(称为setTaskPosition)。
基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息8,消息8中携带有方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及A页面对应的Activity的taskID。
其中,本申请对消息8的表示方式不做限定。例如,分屏位置(targetPosition)以及A页面对应的Activity的taskID可采用参数params1进行传递。需要说明的是,A页面对应的Activity的taskID可以替换为A页面的ID,本申请对此不做限定,只需传输用于表示A页面的标识即可。其中,本申请对该标识不做限定。
综上,第三方接口层(EasyGoSDK)可以获取到方法1的方法名(setTaskPosition)、分屏位置(targetPosition)以及A页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法1的方法名(setTaskPosition)、分屏位置(targetPosition)、A页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及A页面对应的Activity的taskID可采用参数params2进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:
平行窗口管理器(HwMagicWindowManager)判断接收到方法1的方法名(setTaskPosition)以及params2的内容是否为空。在方法1的方法名(setTaskPosition)以及params2的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤14-1、平行窗口管理器(HwMagicWindowManager)可基于A页面对应的Activity的taskID,可判断该taskID对应的任务栈是否处于非分屏模式(即该Activity对应的A页面是否不处于分屏显示的状态)。
其中,步骤14-1的具体实现方式可参见步骤12-1的描述,此处不做赘述。
步骤14-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,步骤14-2的具体实现方式可参见步骤13-2的描述,此处不做赘述。
步骤14-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的右屏显示。
其中,步骤14-3的具体实现方式可参见步骤13-3的描述,此处不做赘述。
另外,步骤14-1、步骤14-2和步骤14-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤14-1、步骤14-2和步骤14-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)可建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),并在这个新的Task中启动B页面对应的Activity。
其中,前述新的Task与A页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与A页面对应的Activity不同的一个task中。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID(即新的Task的ID),可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,A页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图3A的(3)中所示的A页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图3F,对电子设备实现A页面和B页面的分屏显示的实现过程进行具体阐述。
如图3F所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S51、电子设备显示A页面。
S52'、电子设备在A页面上接收到用户的操作101时,向该应用发送消息7,消息7用于标识操作101。
S53'、应用响应于消息7,获得方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及A页面对应的Activity的taskID。
S54、应用向第三方接口层(EasyGoSDK)发送消息8,消息8中携带有方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及A页面对应的Activity的taskID。
S55、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)1的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、A页面对应的Activity的taskID以及该应用的包名(package name)。
S561'、平行窗口管理器(HwMagicWindowManager)判断A页面对应的Activity的taskID对应的任务栈是否处于非分屏模式(即该Activity对应的A页面是否不处于分屏显示的状态)。
S562、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S563、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S57、平行窗口管理器(HwMagicWindowManager)在S561、S562以及S563的判断结果均为是时,建立一个新的Task(即一个与A页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S561、S562以及S563中的任意一个步骤的判断结果为否时,继续显示A页面。
S58、平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示A页面和B页面。
需要说明的是,图3F示例性所示的具体实现过程可参见前述内容,此处不做赘述。并且,图3E与图3F不同的是:图3E的步骤S521、S522-S53与图3F的步骤S52'-S53',以及图3E的步骤S561与图3F的步骤S561',其余步骤均相同。
另外,图3E与图3C不同的是:图3E的步骤S57中建立新的任务栈的时序与图3C的S321中建立新的任务栈的时序,以及图3E传输的A页面对应的Activity的taskID与图3C的B页面对应的Activity的taskID,其余步骤类似。
并且,图3C和图3E中的操作101用于标识不同的含义,可为相同类型或者不同类型的操作。图3C中的操作101用于标识从显示一个任务栈中的A页面跳转到另一个任务栈中的显示B页面。图3E中的操作101用于标识从显示一个任务栈中的A页面跳转到显示该任务栈中的B页面。综上,B页面对应的Activity的启动模式(launchMode)对电子设备的软件系统建立一个新的任务栈的时序上有影响。另外,电子设备的软件系统向应用发送与分屏控件的触发操作或者用户的某个触发操作对应的消息,对该应用是否能够调用电子设备的软件系统中的第三方接口层(EasyGoSDK)有影响。
2、B页面退出显示(对应于如图3B所示的步骤S121或者步骤S122)
如图3B的(2)和(3)所示,B页面中还可包括返回控件1,用于表示用户可从B页面触发返回控件1,返回控件1用于退出B页面显示。
电子设备在检测到用户指示的触发在B页面中的返回控件1的操作201后,可退出B页面对应的Activity,使得电子设备可以从显示图3B的(2)或(3)示例性所示的用户界面退回到显示图3B的(1)示例性所示的用户界面。
3、从左分屏显示的A页面打开新页面,新页面将左分屏显示的A页面替换掉(对应于如图3A所示的步骤S131或步骤S132)
31、从左分屏显示的A页面打开C1页面,C1页面将左分屏显示的A页面替换掉(对应于如图3A所示的步骤S131)
电子设备在检测到用户指示的触发在A页面中的控件C1的操作301,可以向平行窗口管理器(HwMagicWindowManager)发送参数policy1和params3。
其中,由于用户在A页面上进行的操作301,且A页面显示在左分屏中,因此,参数policy1用于表示在从左分屏显示的A页面打开C1页面时采用的策略,参数policy1可如采用数字、字符串、字母等形式进行表示。
其中,params3可以包括但不限于:A页面对应的Activity(即焦点Activity)的令牌(token)、C1页面对应的Activity的令牌(token)、以及用于启动C1页面对应的Activity的intent的配置参数。
本领域技术人员可以理解,令牌(token)可标识对应的Activity,且确保对应的Activity在不同层次均可保持一一对应的关系。故,A页面对应的Activity的令牌(token)可以标识A页面对应的Activity,C1页面对应的Activity的令牌(token)可以标识C1页面对应的Activity。
本领域技术人员可以理解,intent是提供Activity直接交互的抽象描述,可以被startActivity运行。Intent提供了一个媒介,提供组件的相互调用,实现调用者和被调用者之间的解耦。intent的配置参数,即intent中属性的设置,可以包括但不限于:action(通常要执行的动作)、data(执行动作要操作的数据,Android采用指向数据的一个URL来表示。对于不同的动作,其URL数据的类型不同)、category(被执行动作的附加信息)、type(显示指定的intent的数据类型(MIME))、component(指定intent的目标组件的类名称)、extras(是其他所有附加信息的结合,使用extras可以为组件提供扩展信息)。通常,intent解析机制主要是通过查找在已注册在AndroidManifest.xml文件中的所有intentFilter及其中定义的intent,确定出匹配的intent。在这个解析过程中,软件系统是通过action、type和category这三个属性来进行判断的。故,用于启动C1页面对应的Activity的intent的配置参数可以启动C1页面对应的Activity。
平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的令牌(token),可判断该Activity对应的任务栈是不是处于分屏模式(即该Activity对应的A页面是否处于分屏显示的状态)。
其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈(即A页面对应的任务栈和B页面对应的任务栈),并通过A页面对应的任务栈和B页面对应的任务栈是否为不同的任务栈,来判断该Activity对应的任务栈是不是处于分屏模式。从而,在确定A页面对应的任务栈和B页面对应的任务栈为不同的任务栈时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示该Activity对应的任务栈是否处于分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确定该Activity对应的任务栈是否处于分屏模式。
平行窗口管理器(HwMagicWindowManager)在确定该Activity对应的任务栈处于分屏模式时,基于C1页面对应的Activity的令牌(token),启动用于启动C1页面对应的Activity的intent的配置参数,使得C1页面对应的Activity启动。进而,平行窗口管理器(HwMagicWindowManager)可确定C1页面的如分屏边界(bounds)以及移动动效等分屏参数,使得C1页面替换掉A页面并显示在电子设备的左分屏中,如图3A的(41)所示。
其中,C1页面对应的Activity可以设置为Activity的四种启动模式(launchMode)中的任意一种。若C1页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则C1页面的启动方式为newtask启动,那么C1页面的分屏边界(bounds)可限定C1页面的窗口尺寸。
32、从左分屏显示的A页面打开B页面,B页面将左分屏显示的A页面替换掉(对应于如图3A所示的步骤S132)
电子设备在检测到用户指示的触发在A页面中的控件B的操作302后,可以向平行窗口管理器(HwMagicWindowManager)发送参数policy2和params4。
其中,由于用户在A页面上进行的操作302,且A页面显示在左分屏中,因此,参数policy2用于标识在从左分屏显示的A页面打开B页面时采用的策略,参数policy2可如采用数字、字符串、字母等形式进行表示。params4可以包括但不限于:A页面对应的Activity(即焦点Activity)的令牌(token)、B页面对应的Activity的令牌(token)、以及用于启动B页面对应的Activity的intent的配置参数。
其中,A页面对应的Activity的令牌(token)用于标识A页面对应的Activity。B页面对应的Activity的令牌(token)用于标识B页面对应的Activity。用于启动B页面对应的Activity的intent的配置参数用于启动B页面对应的Activity。
平行窗口管理器(HwMagicWindowManager)基于A页面对应的Activity的令牌(token),可判断该Activity对应的任务栈是不是处于分屏模式(即该Activity对应的A页面是否处于分屏显示的状态)。
其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈(即A页面对应的任务栈和B页面对应的任务栈),并通过A页面对应的任务栈和B页面对应的任务栈是否为不同的任务栈,来判断该Activity对应的任务栈是不是处于分屏模式。从而,在确定A页面对应的任务栈和B页面对应的任务栈为不同的任务栈时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示该Activity对应的任务栈是否处于分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确定该Activity对应的任务栈是否处于分屏模式。
平行窗口管理器(HwMagicWindowManager)在确定该Activity对应的任务栈处于分屏模式时,由于B页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,因此,电子设备可建立一个新的Task(即一个与A页面对应的任务栈以及右分屏显示的B页面对应的任务栈均不同的任务栈),并基于B页面对应的Activity的令牌(token),启动用于启动B页面对应的Activity的intent的配置参数,使得B页面对应的Activity在这个新的Task中启动。进而,平行窗口管理器(HwMagicWindowManager)可确定B页面的如分屏边界(bounds)以及移动动效等分屏参数,使得B页面替换掉A页面并显示在电子设备的左分屏中,如图3A的(42)所示。
其中,图3A所示的步骤S132的具体实现方式与图3A所示的步骤S131类似。
41、左分屏显示的C1页面退出显示(对应于如图3B所示的步骤S141)
如图3B的(41)所示,左分屏显示的C1页面中可包括返回控件2,用于表示用户可从C1页面触发返回控件2,返回控件2用于退出C1页面显示。
电子设备在检测到用户指示的触发在C1页面中的返回控件2的操作401后,可以退出C1页面对应的Activity,使得电子设备从显示如图3B的(41)示例性所示的用户界面退回到显示如图3B的(3)示例性所示的用户界面。
42、左分屏显示的B页面退出显示(对应于如图3B所示的步骤S142)
如图3B的(42)所示,左分屏显示的B页面中还可包括返回控件3,用于表示用户可从B页面触发返回控件3,返回控件3用于退出B页面显示。
电子设备在检测到用户指示的触发在B页面中的返回控件3的操作402后,可以退出左分屏中B页面对应的Activity,使得电子设备从显示如图3B的(42)示例性所示的用户界面退回到显示如图3B的(3)示例性所示的用户界面。
43、右分屏显示的B页面退出显示(对应于如图3B所示的步骤S161和步骤S162)
如图3B的(41)和(42)所示,右分屏显示的B页面中还可包括返回控件1,用于表示用户可从B页面触发返回控件1,返回控件1用于退出B页面显示。
电子设备在检测到用户指示的触发在B页面中的返回控件1的操作403后,可以退出右分屏中B页面对应的Activity,使得电子设备从显示如图3B的(41)示例性所示的用户界面退回到显示如图3B的(1)或(2)示例性所示的用户界面,或者,使得电子设备从显示如图3B的(42)示例性所示的用户界面退回到显示如图3B的(1)或(2)示例性所示的用户界面。
5、从右分屏显示的B页面打开新页面(即D页面),D页面将右分屏显示的B页面替换掉(对应于如图3A所示的步骤S15)
电子设备在检测到用户指示的触发在B页面中的控件D的操作501后,可以向平行窗口管理器(HwMagicWindowManager)发送参数policy3和params5。
其中,由于用户在B页面上进行的操作501,且B页面显示在右分屏中,因此,参数policy3用于标识在从右分屏显示的B页面打开D页面时采用的策略,参数policy3可如采用数字、字符串、字母等形式进行表示。params5可以包括但不限于:B页面对应的Activity(即焦点Activity)的令牌(token)、D页面对应的Activity的令牌(token)以及用于启动D页面对应的Activity的intent的配置参数。
其中,B页面对应的Activity的令牌(token)用于标识B页面对应的Activity。D页面对应的Activity的令牌(token)用于标识D页面对应的Activity。用于启动D页面对应的Activity的intent的配置参数用于启动D页面对应的Activity。
平行窗口管理器(HwMagicWindowManager)基于B页面对应的Activity的令牌(token),可判断该Activity对应的任务栈是不是处于分屏模式(即该Activity对应的B页面是否处于分屏显示的状态)。
其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈(即A页面对应的任务栈和B页面对应的任务栈),并通过A页面对应的任务栈和B页面对应的任务栈是否为不同的任务栈,来判断该Activity对应的任务栈是不是处于分屏模式。从而,在确定A页面对应的任务栈和B页面对应的任务栈为不同的任务栈时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示该Activity对应的任务栈是否处于分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确定该Activity对应的任务栈是否处于分屏模式。
平行窗口管理器(HwMagicWindowManager)在确定该Activity对应的任务栈处于分屏模式时,基于D页面对应的Activity的令牌(token),启动用于启动D页面对应的Activity的intent的配置参数,使得D页面对应的Activity启动,进而,平行窗口管理器(HwMagicWindowManager)可确定D页面的如分屏边界(bounds)以及移动动效等分屏参数,使得D页面替换掉B页面并显示在电子设备的右分屏中,如图3A的(5)所示。若否,则返回。
其中,D页面对应的Activity可以设置为Activity的四种启动模式(launchMode)中的任意一种。若D页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则D页面的启动方式为newtask启动,那么D页面的分屏边界(bounds)可限定D页面的窗口尺寸。
其中,图3A所示的步骤S15的具体实现方式与图3A所示的步骤S131或步骤S132类似。
6、右分屏显示的D页面退出显示(对应于如图3B所示的步骤S18)
如图3B的(5)所示,D页面中还可包括返回控件4,用于表示用户可从D页面触发返回控件4,返回控件4用于退出D页面显示。
电子设备在检测到用户指示的触发在D页面中的返回控件4的操作601后,可以退出D页面对应的Activity,使得电子设备可以从显示图3B的(5)示例性所示的用户界面退回到显示图3B的(4)示例性所示的用户界面。
场景一中,基于前述描述,电子设备可实现如下功能:
1)电子设备响应于用户触发的操作可从全屏显示A页面切为A页面和B页面分屏显示。
2)在A页面和B页面分屏显示时,从A页面打开C1页面,则C1页面销毁A页面并在A页面显示的区域进行显示,并不会把B页面销毁。
3)在A页面和B页面分屏显示时,从B页面打开D页面,则D页面销毁B页面并在B页面显示的区域进行显示,并不会把A页面销毁。
4)在A页面和B页面分屏显示时,关闭C1页面,并不会影响B页面的显示。
5)在A页面和B页面分屏显示时,关闭D页面,并不会影响A页面的显示。
6)B页面可在全屏显示和分屏显示之间自由切换。
从而,在用户并行处理多任务时,电子设备可将任意一个应用从全屏显示主页面切为分屏显示该应用的其他页面,且从任意一个分屏中打开的新页面会销毁该分屏显示的页面并在该分屏中显示,解决了相关技术中由于不同分屏存在耦合关系而导致任意一个分屏打开的新页面会销毁其他分屏显示的页面的现象,避免了不同分屏中的页面之间的显示干扰,使得不同分屏中的页面可以独立运行,给用户提供多任务或沉浸式体验。另外,在该应用启动应用内分屏功能后,电子设备基于用户需求,可从分屏显示该应用的多个页面切换为全屏显示该应用的一个页面,也可从全屏显示该应用的一个页面切换为分屏显示该应用的多个页面,为用户提供高效且灵活的多窗口多任务体验。
基于图3A-图3F所示的描述,结合图4A-图4L,介绍电子设备完成任意一个应用的多个页面的分屏显示的具体实现过程。为了便于说明,图4A-图4L中,以电子设备为平板电脑,应用为微信应用,A页面为聊天对话框列表,a0页面中包括居中设置的微信应用的图标,a1页面为一个具体的聊天对话框窗口,B页面为微信应用中的XX视频浏览网页/XX视频小程序的主页面,且B页面的启动模式(launchMode)设置为singleInstance模式,C1页面为a1页面,D页面为B页面的视频1的图标对应的视频1的页面为例进行示意。
请参阅图4A-图4L,图4A-图4L为本申请一实施例提供的人机交互界面示意图。
平板电脑可显示如图4A示例性所示的用户界面11。其中,用户界面11可以为桌面的主界面(Home screen),用户界面11可以包括但不限于:状态栏,导航栏,日历指示符,天气指示符,以及多个应用程序图标等。应用程序图标至少包括:微信应用的图标401,还可以包括:如计算器的图标、华为视频的图标、浏览器的图标、相机的图标、音乐的图标、设置的图标、电子邮件的图标、备忘录的图标等。
平板电脑在检测到用户指示的打开微信应用的操作(如点击微信应用的图标401)后,可显示图4B示例性所示的用户界面12a和用户界面12b,且用户界面12a在左分屏显示,用户界面12b在右分屏显示。其中,用户界面12a可以用于显示微信应用的主页面(即A页面)。用户界面12b可以用于显示微信应用的副页面(即a0页面)。
其中,用户界面12a和用户界面12b的显示区域面积可以相同或者不同,本申请对此不做限定。另外,用户界面12a和用户界面12b重合的边界区域中可设置有用于调整用户界面12a和用户界面12b的显示区域面积的操作按钮,以便基于用户需求实时调整用户界面12a和用户界面12b的显示区域面积。
需要说明的是,除了图4B示例性所示的用户界面12a和用户界面12b之外,平板电脑也可以全屏显示微信应用的主页面(即A页面),也可以在部分显示区域中(如居中)显示微信应用的主页面(即A页面),本申请对此不做限定。
平板电脑在检测到用户在图4B所示的用户界面12a中执行如点击搜索控件402的操作后,可在左分屏中从显示图4B示例性所示的用户界面12a变为显示图4C示例性所示的用户界面13a。其中,用户界面13a可以为搜索微信应用中的可搜索内容的界面。并且,平板电脑可继续在右分屏中显示图4C示例性所示的用户界面12b。
其中,搜索控件402在图4B中采用搜索图标为例进行示意,搜索控件402用于进入到搜索微信应用中的可搜索内容的界面,微信应用中的可搜索内容可以包括但不限于:小程序、朋友圈、公众号、文章、浏览网页等。
需要说明的是,除了用户点击如图4B所示的搜索控件402向用户提供搜索XX视频网页/XX视频小程序的方式之外,平板电脑可在检测到用户指示的在用户界面12a中执行如下拉并长按的操作后,可显示小程序的界面,便可向用户提供搜索XX视频网页/XX视频小程序的途径。或者,平板电脑可在检测到用户指示的在用户界面12a中的通信录的图标执行如点击操作后,可显示一搜索框,便可向用户提供搜索XX视频网页/XX视频小程序的途径。本申请对搜索XX视频网页/XX视频小程序的途径不做限定。
平板电脑在检测到用户在图4C所示的用户界面13a中的搜索框403执行输入的操作后,可在左分屏中从显示图4C示例性所示的用户界面13a变为显示图4D示例性所示的用户界面14a。其中,用户界面14a用于显示XX视频网页/XX视频小程序的搜索结果404。并且,平板电脑可继续在右分屏中显示图4D示例性所示的用户界面用户界面12b。
其中,搜索框403用于搜索微信应用中的可搜索内容。用户在用户界面13a中的搜索框403执行的输入操作可以包括文字输入、语音输入或者视频输入等。例如,如图4D所示,用户在搜索框403中输入文字XX视频,平板电脑可以搜索XX视频网页/XX视频小程序,且显示XX视频网页/XX视频小程序的搜索结果404。
在微信应用中未使用过XX视频小程序时,搜索结果404不包括使用过的小程序的控件。在微信应用中使用过XX视频小程序时,搜索结果404可包括使用过的小程序的控件,且使用过的小程序的控件中包括如图4D所示的文字XX视频。其中,使用过的小程序的控件可采用文字和/或图标进行表示微信应用中使用过的小程序。另外,搜索结果404中还至少包括搜一搜的控件,搜一搜的控件用于向用户提供搜索XX视频网页/XX视频小程序的其他途径,搜一搜的控件可采用文字和/或图标进行表示,如图4D所示的图标、文字搜一搜以及文字XX视频和小程序、朋友圈、公众号、文章、浏览网页等。
平板电脑在检测到用户在图4D所示的搜索结果404中执行如点击文字XX视频的操作后,可显示图4E示例性所示的用户界面15,用户界面15用于显示XX视频网页/XX视频小程序的主页面(即B页面,且B页面对应的任务栈为新建的任务栈,与A页面对应的任务栈不同)。
需要说明的是,从图4B-图4D中用户触发B页面显示的全部操作可以看作为用户在A页面中触发控件B对应图3C中的操作101。
用户界面15中至少包括:多功能控件405(图4E中采用三个实心点为例进行示意)、返回控件406(图4E中采用空心圆中有一个实心圆为例进行示意)以及B页面的页面内容。
其中,多功能控件405用于进入到XX视频网页/XX视频小程序的如分享、移除、分屏/全屏显示、浮窗显示、设置、反馈与投诉、重新进入等功能的窗口。
其中,返回控件406用于退出XX视频网页/XX视频小程序,使得平板电脑从当前用户界面(如用户界面15以及后文提及的用户界面16b、用户界面18b和用户界面19等)返回并显示图4B示例性所示的用户界面12a和用户界面12b。此处的返回控件406可看作为图3A和图3B中的返回控件1。
平板电脑在检测到用户在图4E所示的用户界面15中执行如点击多功能控件405的操作后,可在用户界面15上显示图4F示例性所示的窗口407,窗口407中至少包括:控件4071。
其中,窗口407可以为XX视频浏览网页/XX视频小程序的如分享、移除、分屏/全屏显示、浮窗显示、设置、反馈与投诉、重新进入等功能的窗口,用于显示XX视频网页/XX视频小程序的如分享、移除、分屏/全屏显示、浮窗显示、设置、反馈与投诉、重新进入等功能。
其中,控件4071用于实现B页面的分屏显示,可采用图标和/或文字进行表示。例如,图4F中的控件4071以文字“在分屏中显示”和图标为例进行表示。此处的控件4071可看作为图3A和图3B中的分屏/全屏控件。此处的点击多功能控件405的操作可看作为图3C中的操作101,此处的点击控件4071的操作可看作图3C中的操作102。需要说明的是,控件4071也可显示在窗口407中,无需通过如点击多功能控件405的操作而显示出来。
平板电脑在检测到用户指示的在图4F所示的窗口407中执行如点击控件4071的操作后,可显示图4G示例性所示的用户界面16a和用户界面16b,且用户界面16a在左分屏显示,用户界面16b在右分屏显示。其中,用户界面16a用于显示微信应用的主页面(即A页面)。用户界面16b用于显示有XX视频网页/XX视频小程序的B页面。
其中,用户界面16a和用户界面16b的显示区域面积可以相同或者不同,本申请对此不做限定。用户界面16a和用户界面16b的显示位置可以互换,即用户界面16a在右分屏显示,用户界面16b在左分屏显示。另外,用户界面16a和用户界面16b重合的边界区域中可设置有用于调整用户界面16a和用户界面16b的显示区域面积的控件,以便基于用户需求实时调整用户界面16a和用户界面16b的显示区域面积。
需要说明的是,除了上述方式之外,平板电脑在检测到用户在图4D所示的搜索结果404中执行如点击文字XX视频的操作后,即可显示图4G示例性所示的用户界面16a和用户界面16b,且用户界面16a在左分屏显示,用户界面16b在右分屏显示。即,图4E-图4F所示实施例的描述为可选地步骤。此处的点击文字XX视频的操作可看作为图3D中的操作101。
从而,平板电脑可在左分屏中显示微信应用的主页面,与此同时,在右分屏中显示微信应用中的XX视频网页/XX视频小程序,使得用户可在A页面和B页面中进行如点击、滑动、长按等操作,同步实现内容浏览、视频观看以及即时聊天等功能,提升了用户的使用体验。
综上,图4A-图4G所示实施例的描述,电子设备可实现A页面在电子设备的左分屏中显示且B页面在电子设备的右分屏中显示,从而完成微信应用的应用内分屏显示功能,即左A右B。
需要说明的是,按照图4A-图4G所示实施例的描述,电子设备可实现从左分屏显示A页面跳转至左分屏显示B页面,且右分屏继续显示B页面,从而完成微信应用的应用内分屏功能。其中,在左分屏显示的B页面中还可以包括返回控件,其中,返回控件用于退出在左分屏显示的B页面,使得平板电脑从当前用户界面返回并显示图4G示例性所示的用户界面16a和用户界面16b。此处的返回控件可看作为图3A和图3B中的返回控件3,且返回控件与在右分屏显示的B页面中的返回控件406不同。
平板电脑在检测到用户在图4G所示的用户界面16a中执行如点击控件408的操作后,可在左分屏中从显示图4G示例性所示的用户界面16a变为显示图4H示例性所示的用户界面17a,其中,用户界面17a可以为用户与xiaoyi的聊天对话的页面(即C1页面),进而方便用户浏览XX视频网页/XX视频小程序的页面的同时还能与xiaoyi微信聊天。并且,平板电脑可继续在右分屏中显示图4H示例性所示的用户界面16b。
其中,控件408用于进入到用户与xiaoyi的聊天对话的页面(即C1页面)。本申请对控件408的具体实现方式不做限定。另外,用户界面17a中至少还包括返回控件410(图4H中采用一个向左的箭头为例进行示意),返回控件410用于退出C1页面,使得平板电脑可从用户界面17a返回并显示图4G示例性所示的用户界面16a,方便用户使用微信应用的其他功能。此处的返回控件410可看作为图3A和图3B中的返回控件2。
综上,图4G-图4H所示实施例的描述,电子设备在A页面和B页面左右分屏显示时,从A页面打开的新页面可替换A页面进行显示,而不会替换B页面进行显示,实现了应用内多个页面的左右分屏的独立且分离显示,避免应用内多个页面相互之间的显示干扰,即左点左出。另外,电子设备还可以从新页面退回到A页面进行显示,即左右任务独立。
平板电脑在检测到用户在图4G所示的用户界面16b中执行如点击控件409上的操作后,可在右分屏中从显示图4G示例性所示的用户界面16b变为显示图4I示例性所示的用户界面18b,其中,用户界面18b可以为视频1的页面(即D页面),进而方便用户使用微信应用的同时还能观看视频1。并且,平板电脑可继续在左分屏中显示图4I示例性所示的用户界面16a。
其中,控件409用于进入到视频1的页面(即D页面)。本申请对控件409的具体实现方式不做限定。另外,用户界面17a中至少还包括返回控件411(图4I中采用一个向左的箭头为例进行示意),返回控件411用于退出D页面,使得平板电脑可从用户界面18b返回并显示图4G示例性所示的用户界面16b,方便用户使用XX视频浏览网页/XX视频小程序的其他功能。此处的返回控件411可看作为图3A和图3B中的返回控件4。
需要说明的是,平板电脑在检测到用户在如图4H所示的用户界面16b中执行如点击控件409的操作后,可在右分屏中从显示图4H示例性所示的用户界面16b变为显示图4I示例性所示的用户界面18b,其中,用户界面18b可以为视频1的页面(即D页面),进而方便用户与xiaoyi聊天的同时还能观看视频1。并且,平板电脑可继续在左分屏中显示图4I示例性所示的用户界面17a。前述方式是用户在平板电脑上观看视频1的另一种可行的实现方式。
综上,图4G和图4I所示实施例的描述,电子设备在A页面和B页面左右分屏显示时,从B页面打开的新页面可替换B页面进行显示,而不会替换A页面进行显示,实现了应用内多个页面左右分屏的独立且分离显示,避免应用内多个页面相互之间的显示干扰,即右点右出。另外,电子设备还可以从新页面退回到B页面进行显示,即左右任务独立。
平板电脑在检测到用户在图4I所示的用户界面18b中执行如点击多功能控件405的操作后,可在用户界面18b上显示图4J示例性所示的窗口407,窗口407中至少包括:控件4072。
其中,窗口407的具体实现方式可参见图4F所示实施例的描述,此处不做赘述。控件4072用于实现B页面的全屏显示,可采用图标和/或文字进行表示。例如,图4J中的控件4072以文字“退出分屏显示/切换到全屏显示”和图标为例进行表示。此处的控件4072可看作为图3A和图3B中的分屏/全屏控件。需要说明的是,控件4072也可显示在窗口407中,无需通过如点击多功能控件405的操作而显示出来。
需要说明的是,控件4071和控件4072通常不同时显示在窗口407中,且在窗口407中的同一个区域进行切换显示。其中,当B页面全屏显示时,平板电脑可在窗口407中显示控件4071,进而方便用户实现B页面从全屏显示切换至分屏显示。当B页面分屏显示时,平板电脑可在窗口407中显示控件4072,进而方便用户实现B页面从分屏显示切换至全屏显示。
平板电脑在检测到用户在图4J所示的窗口407中执行点击控件4072的操作后,可显示图4K示例性所示的用户界面19,其中,用户界面19用于全屏显示XX视频网页/XX视频小程序的B页面,进而方便用户全屏观看视频1。
综上,图4I-图4K所示实施例的描述,电子设备可实现视频1从分屏显示到全屏显示。
平板电脑在检测到用户在图4K所示的用户界面19中执行如点击多功能控件405的操作后,可在用户界面19上显示图4L示例性所示的窗口407,窗口407中至少包括:控件4071。
其中,窗口407和控件4071的具体实现方式可参见图4F或图4J所示实施例的描述,此处不做赘述。
平板电脑在检测到用户在图4L所示的窗口407中执行点击控件4071的操作后,可显示图4I示例性所示的用户界面16a和用户界面18b,进而方便用户观看视频1的同时能够运行微信应用。
综上,图4K、图4L、图4I所示实施例的描述,电子设备可实现视频1从全屏显示到分屏显示。
基于图3A-图3B所示的描述,结合图4A、图4M-图4W,介绍电子设备完成任意一个应用的多个页面的分屏显示的具体实现过程。为了便于说明,图4A、图4M-图4W中,以电子设备为平板电脑,应用为微信应用,A页面为聊天对话框列表,a0页面中包括居中设置的微信应用的图标,a1页面为微信应用中的XX快递柜公众号的主页面,a2页面为微信应用中的XX快递柜公众号除了XX快递柜公众号的主页面之外的任意一个页面,B页面为微信应用中的XX快递柜公众号除了XX快递柜公众号的主页面之外的任意一个页面,且B页面的启动模式(launchMode)不设置为singleInstance模式,C1页面为a1页面,D页面为微信应用中的XX快递柜公众号除了XX快递柜公众号的主页面之外的任意一个页面为例进行示意。
请参阅图4A、图4M-图4W,图4M-图4W为本申请一实施例提供的人机交互界面示意图。
平板电脑可显示如图4A示例性所示的用户界面11。平板电脑在检测到用户指示的打开微信应用的操作(如点击微信应用的图标401)后,可显示图4M示例性所示的用户界面12a和用户界面12b,且用户界面12a在左分屏显示,用户界面12b在右分屏显示。用户界面12a可以用于显示微信应用的主页面(即A页面)。用户界面12b可以用于显示微信应用的副页面(即a0页面)。
其中,用户界面11的具体描述可参见前文描述,用户界面12a和用户界面12b的具体描述可参见图4B示例性的描述,此处不做赘述。此处不做赘述。
平板电脑在检测到用户在图4M所示的用户界面12a中执行如点击搜索控件412的操作后,可在右分屏中从显示图4M示例性所示的用户界面12b变为显示图4N示例性所示的用户界面41b。其中,用户界面41b可以用于显示微信应用中的XX快递柜公众号的主页面(即a1页面)。并且,平板电脑可继续在左分屏中显示图4N示例性所示的用户界面12a。用户界面41b中至少包括:控件413(图4N中采用一个类似于人的图案为例进行示意)、返回控件414(图4N中采用一个向左的箭头为例进行示意)以及a1页面的页面内容。其中,控件413用于实现B页面的显示。本申请对控件413的具体实现方式不做限定。返回控件414用于退出XX快递柜公众号,使得平板电脑可从用户界面41b返回并显示图4M示例性所示的用户界面12b,方便用户使用微信应用的其他功能。
需要说明的是,除了用户点击如图4M所示的搜索控件412向用户提供XX快递柜公众号的主页面的方式之外,平板电脑可在检测到用户指示的在用户界面12所示的主页面上的搜索按钮执行如点击操作后,可显示出一搜索框,便可向用户提供搜索XX快递柜公众号的途径。或者,平板电脑可在检测到用户指示的在用户界面12a中的通信录的图标执行如点击操作后,可显示一搜索框,便可向用户提供搜索XX快递柜公众号的途径。本申请对搜索XX快递柜公众号的途径不做限定。
平板电脑在检测到用户在图4N所示的用户界面41b中执行如点击控件413的操作后,可在右分屏中从显示图4N示例性所示的用户界面41b变为显示图4O示例性所示的用户界面42b。其中,用户界面42b用于显示微信应用中的XX快递柜公众号除了主页面之外的任意一个界面(即a2页面)。并且,平板电脑可继续在左分屏中显示图4O示例性所示的用户界面12a。
其中,用户界面42b中至少包括:控件415(图4O中采用图片1和文字aaa为例进行示意)。控件415用于实现B页面的显示。本申请对控件415的具体实现方式不做限定。在一些实施例中,控件415可以采用以链接、视频、图片、字符串或者文字等至少一种形式进行表示。
另外,用户界面42b中还可以包括:返回控件416(图4O中采用一个向左的箭头为例进行示意),返回控件416用于退出a1页面,使得平板电脑可从用户界面42b返回并显示图4N示例性所示的用户界面41b,方便用户使用微信应用中的XX快递柜公众号的其他功能。
平板电脑在检测到用户在图4O所示的用户界面42b中执行如点击控件415的操作后,可显示图4P示例性所示的用户界面43。其中,用户界面43用于显示微信应用中的XX快递柜公众号除了主页面之外的任意一个页面(即B页面,且B页面对应的任务栈与A页面对应的任务栈相同)。
需要说明的是,从图4M-图4O中用户触发B页面显示的全部操作可以看作为用户在A页面中触发控件B对应图3E中的操作101。
用户界面43中至少包括:多功能控件417(图4P中采用三个实心点为例进行示意)、返回控件418(图4P中采用空心圆中有一个实心圆为例进行示意)以及B页面的页面内容。
其中,多功能控件417用于进入到XX快递柜公众号的B页面的如发送给朋友、分屏到朋友圈、在看、收藏、在浏览器中打开、分屏/全屏显示、浮窗显示、投诉、复制链接、刷新、搜索页面内容、全文翻译、调整字体等功能的窗口。
其中,返回控件418用于退出B页面,使得平板电脑从当前用户界面(如用户界面43以及后文提及的用户界面44b、用户界面46b和用户界面47等)返回并显示图4O示例性所示的用户界面12a和用户界面42b。此处的返回控件418可看作为图3A和图3B中的返回控件1。
平板电脑在检测到用户在图4P所示的用户界面43中执行如点击多功能控件417的操作后,可在用户界面43上显示图4Q示例性所示的窗口419,窗口419中至少包括:控件4191。
其中,窗口419可以为XX快递柜公众号的B页面的如发送给朋友、分屏到朋友圈、在看、收藏、在浏览器中打开、分屏/全屏显示、浮窗显示、投诉、复制链接、刷新、搜索页面内容、全文翻译、调整字体等功能的窗口,用于显示XX快递柜公众号的B页面的如发送给朋友、分屏到朋友圈、在看、收藏、在浏览器中打开、分屏/全屏显示、浮窗显示、投诉、复制链接、刷新、搜索页面内容、全文翻译、调整字体等功能。
其中,控件4191用于实现B页面的分屏显示,可采用图标和/或文字进行表示。例如,图4Q中的控件4191以文字“在分屏中显示”和图标为例进行表示。此处的控件4191可看作为图3A和图3B中的分屏/全屏控件。此处的点击多功能控件417的操作可看作为图3E中的操作101,此处的点击控件4191的操作可看作为图3E中的操作102。需要说明的是,控件4191也可显示在窗口419中,无需通过如点击多功能控件417的操作而显示出来。
平板电脑在检测到用户指示的在图4Q所示的窗口419中执行如点击控件4191的操作后,可显示图4R示例性所示的用户界面44a和用户界面44b,且用户界面44a在左分屏显示,用户界面44b在右分屏显示。其中,用户界面44a用于显示微信应用的主页面(即A页面)。用户界面44b用于显示微信应用中的XX快递柜公众号除了主页面之外的B页面,此处的B页面对应的任务栈为新建的任务栈,与A页面对应的任务栈不同。
其中,用户界面44a和用户界面44b的显示区域面积可以相同或者不同,本申请对此不做限定。用户界面44a和用户界面44b的显示位置可以互换,即用户界面44a在右分屏显示,用户界面44b在左分屏显示。另外,用户界面44a和用户界面44b重合的边界区域中可设置有用于调整用户界面44a和用户界面44b的显示区域面积的控件,以便基于用户需求实时调整用户界面44a和用户界面44b的显示区域面积。
需要说明的是,除了上述方式之外,平板电脑在检测到用户在图4O所示的用户界面42b中执行如点击控件415的操作后,可显示图4R示例性所示的用户界面44a和用户界面44b,且用户界面44a在左分屏显示,用户界面44b在右分屏显示。即,图4P-图4Q所示实施例的描述为可选地步骤。此处的点击控件415的操作可看作为图3F中的操作101。
从而,平板电脑可在左分屏中显示微信应用的主页面,与此同时,在右分屏中显示微信应用中的XX快递柜公众号的任意一个页面,使得用户可在A页面和B页面中进行如点击、滑动、长按等操作,同步实现内容浏览、视频观看以及即时聊天等功能,提升了用户的使用体验。
综上,图4A、图4M-图4R所示实施例的描述,电子设备可实现A页面在电子设备的左分屏中显示且B页面在电子设备的右分屏中显示,从而完成微信应用的应用内分屏显示功能,即左A右B。
平板电脑在检测到用户在图4R所示的用户界面44a中执行如点击控件420的操作后,可在左分屏中从显示图4R示例性所示的用户界面14a变为显示图4S示例性所示的用户界面45a,其中,用户界面45a可以为用户与xiaoyi的聊天对话的页面(即C1页面),进而方便用户浏览B页面的同时还能与xiaoyi微信聊天。并且,平板电脑可继续在右分屏中显示图4S示例性所示的用户界面44b。
其中,用户界面45a的具体实现方式可参见图4G所示的用户界面16a的描述,控件420的具体实现方式可参见图4G所示的用户界面16a中的控件408的描述,此处不做赘述。
综上,图4R-图4S所示实施例的描述,电子设备在A页面和B页面左右分屏显示时,从A页面打开的新页面可替换A页面进行显示,而不会替换B页面进行显示,实现了应用内多个页面的左右分屏的独立且分离显示,避免应用内多个页面相互之间的显示干扰,即左点左出。另外,电子设备还可以从新页面退回到A页面进行显示,即左右任务独立。
平板电脑在检测到用户在图4R所示的用户界面44b中执行如向上滑动的操作后,可在右分屏中从显示图4R示例性所示的用户界面44b变为显示图4T示例性所示的用户界面46a,其中,用户界面46a可以用于显示微信应用中的XX快递柜公众号除了主页面之外的任意一个页面(即D页面),进而方便用户使用微信应用的同时还能浏览D页面。并且,平板电脑可继续在右左分屏中显示图4T示例性所示的用户界面44b。
另外,平板电脑在检测到用户在图4T所示的用户界面46b中执行如向下滑动的操作后,可从用户界面46b返回并显示图4R示例性所示的用户界面44b,方便用户回看B页面。此处的如向下滑动的操作可看作为图3A和图3B中的返回控件4。
需要说明的是,平板电脑在检测到用户在如图4S所示的用户界面44b中执行如向上滑动的操作后,可在右分屏中从显示图4S示例性所示的用户界面44b变为显示图4T示例性所示的用户界面46b,其中,用户界面46a可以用于显示微信应用中的XX快递柜公众号除了主页面之外的任意一个页面(即D页面),进而方便用户使用微信应用的同时还能浏览D页面。并且,平板电脑可继续在左分屏中显示图4S示例性所示的用户界面45a。前述方式是用户在平板电脑上浏览D页面的另一种可行的实现方式。
综上,图4R和图4T所示实施例的描述,电子设备在A页面和B页面左右分屏显示时,从B页面打开的新页面可替换B页面进行显示,而不会替换A页面进行显示,实现了应用内多个页面左右分屏的独立且分离显示,避免应用内多个页面相互之间的显示干扰,即右点右出。另外,电子设备还可以从新页面退回到B页面进行显示,即左右任务独立。
平板电脑在检测到用户在图4T所示的用户界面46b中执行如点击多功能控件417的操作后,可在用户界面46b上显示图4U示例性所示的窗口419,窗口419中至少包括:控件4192。
其中,窗口419的具体实现方式可参见图4Q所示实施例的描述,此处不做赘述。控件4192用于实现B页面的全屏显示,可采用图标和/或文字进行表示。例如,图4U中的控件4192以文字“退出分屏显示/切换到全屏显示”和图标为例进行表示。此处的控件4192可看作为图3A和图3B中的分屏/全屏控件。需要说明的是,控件4192也可显示在窗口419中,无需通过如点击多功能控件417的操作而显示出来。
需要说明的是,控件4191和控件4192通常不同时显示在窗口419中,且在窗口419中的同一个区域进行切换显示。其中,当B页面全屏显示时,平板电脑可在窗口419中显示控件4191,进而方便用户实现B页面从全屏显示切换至分屏显示。当B页面分屏显示时,平板电脑可在窗口419中显示控件4192,进而方便用户实现B页面从分屏显示切换至全屏显示。
平板电脑在检测到用户在图4U所示的窗口419中执行点击控件4192的操作后,可显示图4V示例性所示的用户界面47,其中,用户界面47用于全屏显示XX快递柜公众号的D页面,进而方便用户全屏浏览D页面。
综上,图4T-图4V所示实施例的描述,电子设备可实现D页面从分屏显示到全屏显示。
平板电脑在检测到用户在图4V所示的用户界面47中执行如点击多功能控件417的操作后,可在用户界面47上显示图4W示例性所示的窗口419,窗口419中至少包括:控件4191。
其中,窗口419和控件4191的具体实现方式可参见图4Q或图4U所示实施例的描述,此处不做赘述。
平板电脑在检测到用户在图4W所示的窗口419中执行点击控件4191的操作后,可显示图4T示例性所示的用户界面44a和用户界面46b,进而方便用户浏览XX快递柜公众号的D页面的同时能够运行微信应用。
综上,图4V、图4W、图4T所示实施例的描述,电子设备可实现D页面从全屏显示到分屏显示。
基于图4A-图4L、以及图4A、图4M-图4W实施例所示的描述,针对微信应用中的浏览网页、小程序、公众号等各种形式的页面,电子设备均可显示微信应用的多个页面的分屏显示,实现微信应用的应用内分屏功能。从而,针对任意一个应用而言,电子设备均可实现该应用的分屏显示功能。
场景二
场景一1中,电子设备检测的是用户触发在A页面中的控件B。场景二中,电子设备检测到的是用户触发在a1页面中的控件B。场景一和场景二不同的是,控件B所在的页面不同,使得电子设备实现该应用的分屏显示的页面不同。
从而,电子设备检测到用户指示的触发在a1页面中的控件B的操作后,可实现a1页面和B页面的分屏显示,进而实现该应用的应用内分屏功能。
请参阅图5A-图5F,图5A-图5F为本申请一实施例提供的一种该应用实现应用内分屏显示的流程示意图。其中,图5A示出了从该应用的当前页面显示到下一个页面的流程,图5B示出了从该应用的当前页面返回到上一个页面的流程,且图5A-图5B中的显示页面相同。
0、a1页面的显示
在电子设备处于横屏状态下,电子设备的显示屏可显示如图5A的(1a)中所示的界面,该界面中包括A页面和a1页面。
图5A的(1a)中,该界面显示的a1页面中包括控件B,用于表示用户可从a1页面触发控件B。该界面显示的a1页面中还包括控件C2,用于表示用户可以从a1页面触发控件C2。其中,控件C2用于触发C2页面的显示,C2页面均为该应用中除了a1页面和B页面之外的页面。C2页面也可以包括A页面,也可以不包括A页面,本申请对此不做限定。
其中,a1页面可以全屏显示,如图5A的(1b)所示,也可以显示在显示屏的部分显示区域中,如仅a1页面显示在显示屏的部分显示区域中(如图5A的(1c)所示)或者A页面与a1页面左右分屏显示(如图5A的(1a)所示),本申请对a1页面的显示方式不做限定,具体根据应用自身的配置参数和软件系统的配置参数进行设置。为了便于说明,场景二中采用如图5A的(1a)所示的A页面在左分屏中显示且a1页面在右分屏中显示为例进行示意。
在一些实施例中,该界面显示的a1页面中还可包括返回控件02(图5A中未示意),用于表示用户可从a1页面触发该返回控件02,返回控件02用于触发退出a1页面或者进入该应用的主页面(即A页面)。例如,用户可对从a1页面触发返回控件02,电子设备可弹出a1页面对应的Activity,并启动A页面对应的Activity,使得电子设备的显示屏显示A页面,或者,电子设备可弹出a1页面对应的Activity,使得电子设备的显示屏显示预存图片,如微信应用的标识等。
1、a1页面和B页面的左右分屏显示(对应于如图5A所示的步骤S21)
在一些实施例中,电子设备在检测到用户指示的触发在a1页面中的控件B的操作701后,若B页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则可建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),并在一个新的Task中启动B页面对应的Activity。
其中,前述新的Task与a1页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与a1页面对应的Activity不同的一个task中。控件B可参见前文描述,此处不做赘述。
在B页面对应的Activity启动后,电子设备可以默认显示B页面(即如图5A的(2)中所示的全屏显示或者在部分显示区域进行显示)。并且,B页面中包括分屏/全屏控件,用于表示用户可从B页面触发分屏/全屏控件,分屏/全屏控件用于B页面的分屏显示或者全屏显示。
电子设备在检测到用户指示的触发在B页面中的分屏/全屏控件的操作702后,可向该应用发送消息9,消息9用于标识前述操作702,使得该应用可以从电子设备的软件系统中获取B页面对应的Activity的taskID,基于前述操作702确定B页面的分屏位置,以及基于前述操作702确定应用内分屏显示的方法(method)2的方法名(称为setTaskPosition),方法2用于表示将a1页面与B页面实现分屏显示。其中,本申请对消息9的表示方式不做限定。例如,消息9可以为前述操作702的报点坐标。
其中,上述提及的分屏位置可参见场景一中的分屏位置的描述,此处不做赘述。
综上,电子设备的软件系统向该应用通知前述操作702,使得该应用可获得B页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)2的方法名(称为setTaskPosition)。
需要说明的是,电子设备响应于操作701建立一个新的Task的执行步骤,电子设备的软件系统向该应用发送前述操作701的执行步骤,在时序上不分先后,可同时执行,也可顺序执行,本申请对此不做限定。
基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息10,消息10中携带有方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。
其中,本申请对消息10的表示方式不做限定。例如,分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params6进行传递。调用(invoke)接口的定义可参见场景一中的描述,此处不做赘述。需要说明的是,B页面对应的Activity的taskID可以替换为B页面的ID,本申请对此不做限定,只需传输用于表示B页面的标识即可。其中,本申请对该标识不做限定。
综上,第三方接口层(EasyGoSDK)可以获取到方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法2的方法名(setTaskPosition)、分屏位置(targetPosition)、B页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params7进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:
平行窗口管理器(HwMagicWindowManager)可判断接收到方法2的方法名(setTaskPosition)以及params7的内容是否为空。在方法2的方法名(setTaskPosition)以及params7的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤21-1、平行窗口管理器(HwMagicWindowManager)可基于B页面对应的Activity的taskID,可判断该taskID对应的Activity是不是当前任务栈的栈顶Activity(即判断焦点任务栈是否存在),进而电子设备在该taskID对应的Activity是当前任务栈的栈顶Activity时可确保存在当前任务栈。
其中,步骤21-1为可选的步骤。
步骤21-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,电子设备判断该包名对应的应用是否支持应用内分屏功能的具体过程可以是:电子设备可判断该包名对应的应用本身是否应用内分屏功能,以及判断电子设备是否开启该应用的应用内分屏功能。
在电子设备可确定该包名对应的应用本身支持应用内分屏功能,以及电子设备开启该应用的应用内分屏功能时,电子设备可确定该包名对应的应用支持应用内分屏功能。
其中,电子设备可以事先将支持应用内分屏功能的应用对应的包名进行存储(如设置白名单),也可以从每个应用的AndroidManifest.xml文件中获取用于表示该应用是否支持应用内分屏功能的标识,本申请对此不做限定。进而,电子设备可基于前述描述,确定该包名对应的应用本身是否支持应用内分屏功能。
其中,数据管理模块存储有设置应用中各个应用的用户选择数据,每个应用的用户选择数据可用于表示电子设备是否开启该应用的应用内分屏功能。进而,电子设备可从数据管理模块中获取设置应用中该包名对应的应用的用户选择数据,并基于该包名对应的应用的用户选择数据判断电子设备是否开启该应用的应用内分屏功能,进而,电子设备可确定该包名对应的应用本身是否支持应用内分屏功能。
步骤21-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是1或2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的分屏显示。
其中,分屏显示的预设要求与电子设备显示B页面的方式(即分屏或者全屏显示)有关。
电子设备在B页面全屏显示时,分屏显示的预设要求可表示B页面可处于分屏显示。例如,targetPosition的值可设置为1或者2,从而,电子设备在需要将全屏显示的B页面实现分屏显示时,可targetPosition的值是否为1或者2。若argetPosition的值为1或者2,则电子设备判断B页面的移动位置符合分屏显示的预设要求。
电子设备在B页面分屏显示时,分屏显示的预设要求可表示B页面不可分屏显示,且可全屏显示。例如,targetPosition的值可设置为0,从而,电子设备在需要将分屏显示的B页面实现全屏显示时,可targetPosition的值是否为0。若argetPosition的值为0,则电子设备判断B页面的移动位置符合分屏显示的预设要求。
其中,步骤21-1、步骤21-2和步骤21-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤21-1、步骤21-2和步骤21-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)基于该应用的包名(package name),可确定出a1页面对应的Activity的taskID。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID,可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,a1页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图5A的(3)中所示的a1页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图5C,对电子设备实现a1页面和B页面的分屏显示的实现过程进行具体阐述。
如图5C所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S41、电子设备显示a1页面。
S421、电子设备在a1页面上接收到用户的操作701时,建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并显示B页面。
S422、电子设备在B页面上接收到用户的操作702时,向该应用发送消息9,消息9用于标识操作702。
S43、应用响应于消息9,获得方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S44、应用向第三方接口层(EasyGoSDK)发送消息10,消息10中携带有方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S45、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、B页面对应的Activity的taskID以及该应用的包名(package name)。
S461、平行窗口管理器(HwMagicWindowManager)判断B页面对应的Activity的taskID对应的Activity是否为当前任务栈的栈顶Activity。
步骤S461为可选地的步骤。
S462、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S463、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S47、平行窗口管理器(HwMagicWindowManager)在S461、S462以及S463的判断结果均为是时,基于该应用的包名(package name),确定出a1页面对应的Activity的taskID,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S461、S462以及S463中的任意一个步骤的判断结果为否时,继续显示B页面。
S48、平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示a1页面和B页面。
需要说明的是,图5C示例性所示的具体实现过程可参见前述内容,此处不做赘述。
在另一些实施例中,电子设备在检测到用户指示的触发在a1页面中的控件B的操作701后,若B页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则可建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),并在一个新的Task中启动B页面对应的Activity。
其中,前述新的Task与a1页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与a1页面对应的Activity不同的一个task中。控件B可参见前文描述,此处不做赘述。
并且,电子设备可向该应用发送消息11,消息11用于标识前述操作701,则该应用响应于前述操作701,可以从电子设备的软件系统中获取B页面对应的Activity的task的ID(简称为taskID),基于前述操作701确定B页面的分屏位置,以及基于前述操作701确定应用内分屏显示的方法(method)2的方法名(称为setTaskPosition),方法2用于表示将a1页面与B页面实现分屏显示。其中,本申请对消息11的表示方式不做限定。例如,消息11可以为前述操作701的报点坐标。
其中,上述提及的分屏位置可参见前述提及的分屏位置的描述,此处不做赘述。
综上,电子设备的软件系统向该应用通知前述操作701,使得该应用可获得B页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)2的方法名(称为setTaskPosition)。
需要说明的是,电子设备响应于操作701建立一个新的Task的执行步骤,电子设备的软件系统向该应用发送前述操作701的执行步骤,在时序上不分先后,可同时执行,也可顺序执行,本申请对此不做限定。
基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息12,消息12中携带有方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。
其中,本申请对消息12的表示方式不做限定。例如,分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params6进行传递。调用(invoke)接口的定义可参见场景一中的描述,此处不做赘述。需要说明的是,B页面对应的Activity的taskID可以替换为B页面的ID,本申请对此不做限定,只需传输用于表示B页面的标识即可。其中,本申请对该标识不做限定。
综上,第三方接口层(EasyGoSDK)可以获取到方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及B页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法2的方法名(setTaskPosition)、分屏位置(targetPosition)、B页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及B页面对应的Activity的taskID可采用参数params7进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:
平行窗口管理器(HwMagicWindowManager)可判断接收到方法2的方法名(setTaskPosition)以及params7的内容是否为空。在方法2的方法名(setTaskPosition)以及params7的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤22-1、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断a1页面对应的Activity的任务栈是否处于非分屏模式(即该Activity对应的a1页面是否不处于分屏显示的状态)。
其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈的数量是否为一个,来判断a1页面对应的Activity的任务栈是不是处于非分屏模式。从而,在确定电子设备当前显示的页面对应的任务栈的数量为一个时,平行窗口管理器(HwMagicWindowManager)可确定A页面对应的Activity的任务栈处于非分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示a1页面对应的Activity的任务栈是否处于非分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于非分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定a1页面对应的Activity的任务栈处于非分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确a1页面对应的Activity的任务栈是否处于非分屏模式。
步骤22-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,步骤22-2的具体实现方式可参见步骤21-2的描述,此处不做赘述。
步骤21-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是1或2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的分屏显示。
其中,步骤22-3的具体实现方式可参见步骤21-3的描述,此处不做赘述。
另外,步骤22-1、步骤22-2和步骤22-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤22-1、步骤22-2和步骤22-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)基于该应用的包名(package name),可确定出a1页面对应的Activity的taskID。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID,可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,a1页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图5A的(3)中所示的a1页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图5D,对电子设备实现a1页面和B页面的分屏显示的实现过程进行具体阐述。
如图5D所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S41、电子设备显示a1页面。
S42'、电子设备在a1页面上接收到用户的操作701时,建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并向该应用发送消息11,消息11用于标识操作701。
S43'、应用响应于消息11,获得方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S44、应用向第三方接口层(EasyGoSDK)发送消息12,消息12中携带有方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及B页面对应的Activity的taskID。
S45、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、B页面对应的Activity的taskID以及该应用的包名(package name)。
S461'、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断a1页面对应的Activity的taskID的任务栈是否处于非分屏模式(即该Activity对应的a1页面是否不处于分屏显示的状态)。
步骤S461为可选地的步骤。
S462、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S463、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S47、平行窗口管理器(HwMagicWindowManager)在S461、S462以及S463的判断结果均为是时,基于该应用的包名(package name),确定出a1页面对应的Activity的taskID,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S461、S462以及S463中的任意一个步骤的判断结果为否时,继续显示a1页面。
S48、平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示a1页面和B页面。
需要说明的是,图5D示例性所示的具体实现过程可参见前述内容,此处不做赘述。并且,图5C与图5D不同的是:图5C的步骤S421、S422-S43与图5C的步骤S42'-S43',以及图5C的步骤S461与图5D的步骤S461',其余步骤均相同。
另外,图5C和图5D中的操作701用于标识不同的含义,可为相同类型或者不同类型的操作。图5C中的操作701用于标识从显示一个任务栈中的a1页面跳转到显示另一个任务栈中的B页面。图5D中的操作701用于标识从显示一个任务栈中a1页面跳转到同时显示一个任务栈中a1页面和另一个任务栈中的B页面。
在另一些实施例中,电子设备在检测到用户指示的触发在a1页面中的控件B的操作101后,若B页面对应的Activity的启动模式(launchMode)不设置为singleInstance模式,则显示B页面,且a1页面对应的Activity与B页面对应的Activity均在同一个task中。
在B页面对应的Activity启动后,电子设备可以默认显示B页面(即如图5A的(2)中所示的全屏显示或者在部分显示区域进行显示)。并且,B页面中包括分屏/全屏控件,用于表示用户可从B页面触发分屏/全屏控件,分屏/全屏控件用于B页面的分屏显示或者全屏显示。
电子设备在检测到用户指示的触发在B页面中的分屏/全屏控件的操作702后,可向该应用发送消息13,消息13用于标识前述操作702,使得该应用可以从电子设备的软件系统中获取a1页面对应的Activity的taskID,基于前述操作702确定B页面的分屏位置,以及基于前述操作702确定应用内分屏显示的方法(method)2的方法名(称为setTaskPosition),方法2用于表示将a1页面与B页面实现分屏显示。其中,本申请对消息13的表示方式不做限定。例如,消息13可以包含前述操作702的报点坐标。
综上,电子设备的软件系统向该应用发送前述操作702,使得该应用可获得a1页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)2的方法名(称为setTaskPosition)。
其中,上述提及的分屏位置可参见场景一中的分屏位置的描述,此处不做赘述。
基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息14,消息14中携带有方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及a1页面对应的Activity的taskID。
其中,本申请对消息14的表示方式不做限定。例如,分屏位置(targetPosition)以及a1页面对应的Activity的taskID可采用参数params6进行传递。调用(invoke)接口的定义可参见场景一中的描述,此处不做赘述。需要说明的是,a1页面对应的Activity的taskID可以替换为a1页面的ID,本申请对此不做限定,只需传输用于表示a1页面的标识即可。其中,本申请对该标识不做限定。
综上,第三方接口层(EasyGoSDK)可以获取到方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及a1页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法2的方法名(setTaskPosition)、分屏位置(targetPosition)、a1页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及a1页面对应的Activity的taskID可采用参数params7进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:
平行窗口管理器(HwMagicWindowManager)可判断接收到方法2的方法名(setTaskPosition)以及params7的内容是否为空。在方法2的方法名(setTaskPosition)以及params7的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤23-1、平行窗口管理器(HwMagicWindowManager)可基于a1页面对应的Activity的taskID,可判断该taskID对应的Activity是否为当前任务栈,进而电子设备在该taskID对应的Activity是当前任务栈时可确保存在当前任务栈。
其中,步骤23-1为可选的步骤。
步骤23-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,步骤23-2的具体实现方式可参见步骤21-2的描述,此处不做赘述。
步骤23-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是1或2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的分屏显示。
其中,步骤23-3的具体实现方式可参见步骤21-3的描述,此处不做赘述。
另外,步骤23-1、步骤23-2和步骤23-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤23-1、步骤23-2和步骤23-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)可建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),并在这个新的Task中启动B页面对应的Activity。
其中,前述新的Task与a1页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与a1页面对应的Activity不同的一个task中。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID(即新的Task的ID),可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,a1页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图5A的(3)中所示的a1页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图5E,对电子设备实现a1页面和B页面的分屏显示的实现过程进行具体阐述。
如图5E所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S61、电子设备显示a1页面。
S621、电子设备在a1页面上接收到用户的操作701时,显示B页面。其中,B页面对应的任务栈与a1页面对应的任务栈为同一个任务栈,在该任务栈中启动B页面对应的Activity,实现B页面的显示。
S622、电子设备在B页面上接收到用户的操作702时,向该应用发送消息13,消息13用于标识操作702。
S63、应用响应于消息13,获得方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及a1页面对应的Activity的taskID。
S64、应用向第三方接口层(EasyGoSDK)发送消息14,消息14中携带有方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及a1页面对应的Activity的taskID。
S65、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、a1页面对应的Activity的taskID以及该应用的包名(package name)。
S661、平行窗口管理器(HwMagicWindowManager)判断a1页面对应的Activity的taskID对应的Activity是否为当前任务栈。
步骤S461为可选地的步骤。
S662、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S663、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S67、平行窗口管理器(HwMagicWindowManager)在S661、S662以及S663的判断结果均为是时,建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S661、S662以及S663中的任意一个步骤的判断结果为否时,继续显示B页面。
S68、平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示a1页面和B页面。
需要说明的是,图5E示例性所示的具体实现过程可参见前述内容,此处不做赘述。并且,图5E与图5C不同的是:图5E的步骤S67中建立新的任务栈的时序与图5C的S421中建立新的任务栈的时序,以及图5E传输的a1页面对应的Activity的taskID与图5C的B页面对应的Activity的taskID,其余步骤类似。
另外,图5C和图5E中的操作701用于标识不同的含义,可为相同类型或者不同类型的操作。图5C中的操作701用于标识从显示一个任务栈中的a1页面跳转到另一个任务栈中的显示B页面。图5E中的操作701用于标识从显示一个任务栈中的a1页面跳转到显示该任务栈中的B页面。
在另一些实施例中,电子设备在检测到用户指示的触发在a1页面中的控件B的操作701后,若B页面对应的Activity的启动模式(launchMode)不设置为singleInstance模式,则可向该应用发送消息15,消息15用于标识前述操作701,则该应用响应于前述操作701,可以从电子设备的软件系统中获取a1页面对应的Activity的task的ID(简称为taskID),基于前述操作701确定B页面的分屏位置,以及基于前述操作701确定应用内分屏显示的方法(method)2的方法名(称为setTaskPosition),方法2用于表示将a1页面与B页面实现分屏显示。其中,本申请对消息15的表示方式不做限定。例如,消息15可以为前述操作701的报点坐标。
其中,上述提及的分屏位置可参见前述提及的分屏位置的描述,此处不做赘述。
综上,电子设备的软件系统向该应用通知前述操作701,使得该应用可获得a1页面对应的Activity的taskID,B页面的分屏位置,以及应用内分屏显示的方法(method)2的方法名(称为setTaskPosition)。
需要说明的是,电子设备响应于操作701建立一个新的Task的执行步骤,电子设备的软件系统向该应用发送前述操作701的执行步骤,在时序上不分先后,可同时执行,也可顺序执行,本申请对此不做限定。
基于前述实施例的描述,该应用可调用电子设备的第三方接口层(EasyGoSDK)中的调用(invoke)接口,传递消息16,消息16中携带有方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及a1页面对应的Activity的taskID。
其中,本申请对消息16的表示方式不做限定。例如,分屏位置(targetPosition)以及a1页面对应的Activity的taskID可采用参数params6进行传递。调用(invoke)接口的定义可参见场景一中的描述,此处不做赘述。需要说明的是,a1页面对应的Activity的taskID可以替换为a1页面的ID,本申请对此不做限定,只需传输用于表示a1页面的标识即可。其中,本申请对该标识不做限定。
综上,第三方接口层(EasyGoSDK)可以获取到方法2的方法名(setTaskPosition)、分屏位置(targetPosition)以及a1页面对应的Activity的taskID。且第三方接口层(EasyGoSDK)还可以获取到(如主动查询到)该应用的包名(package name)。
第三方接口层(EasyGoSDK)向电子设备的平行窗口管理器(HwMagicWindowManager)发送方法2的方法名(setTaskPosition)、分屏位置(targetPosition)、a1页面对应的Activity的taskID、以及该应用的包名(package name)。
其中,该应用的包名(package name)、分屏位置(targetPosition)以及a1页面对应的Activity的taskID可采用参数params7进行传递。
基于图2b所示的结构,利用策略模块、配置模块、数据管理模块、背景图层绘制模块以及动效模块,平行窗口管理器(HwMagicWindowManager)可实现如下过程:
平行窗口管理器(HwMagicWindowManager)可判断接收到方法2的方法名(setTaskPosition)以及params7的内容是否为空。在方法2的方法名(setTaskPosition)以及params7的内容不为空时,平行窗口管理器(HwMagicWindowManager)可进行如下三个步骤:
步骤24-1、平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID,可判断该taskID对应的任务栈是否处于非分屏模式(即该Activity对应的a1页面是否不处于分屏显示的状态)。
其中,步骤24-1的具体实现方式可参见步骤22-1的描述,此处不做赘述。
步骤24-2、平行窗口管理器(HwMagicWindowManager)基于该应用的包名(packagename),可判断该包名对应的应用是否支持应用内分屏功能,进而电子设备在确定该包名对应的应用支持应用内分屏功能时可确保该应用能够支持该应用的多个页面的分屏显示。
其中,步骤24-2的具体实现方式可参见步骤23-2的描述,此处不做赘述。
步骤24-3、平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition),可判断B页面的移动位置是否符合分屏显示的预设要求(例如,副屏(如右分屏)或者全屏,如判断targetPosition的值是不是1或2),进而电子设备在B页面的移动位置符合分屏显示的预设要求时可确定能够实现B页面的分屏显示。
其中,步骤24-3的具体实现方式可参见步骤23-3的描述,此处不做赘述。
另外,步骤24-1、步骤24-2和步骤24-3的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此不做限定。
在步骤24-1、步骤24-2和步骤24-3的判断结果均为是时,平行窗口管理器(HwMagicWindowManager)可建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),并在一个新的Task中启动B页面对应的Activity。
其中,前述新的Task与a1页面对应的Task为不同的Task,可以理解为B页面对应的Activity进入到与a1页面对应的Activity不同的一个task中。
平行窗口管理器(HwMagicWindowManager)基于分屏位置(targetPosition)和B页面对应的Activity的taskID(即新的Task的ID),可确定出B页面的如分屏边界(bounds)以及移动动效等分屏参数,或者,a1页面和B页面的如分屏边界(bounds)以及移动动效等分屏参数。
平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,将独立的两个task同时显示在显示屏的左右分屏,即如图5A的(3)中所示的a1页面显示电子设备的左分屏且B页面显示在电子设备的右分屏。
基于前述描述,结合图5F,对电子设备实现a1页面和B页面的分屏显示的实现过程进行具体阐述。
如图5F所示,本申请的应用页面显示方法的具体实现过程可以包括如下步骤:
S61、电子设备显示a1页面。
S62'、电子设备在a1页面上接收到用户的操作701时,向该应用发送消息15,消息15用于标识操作701。
S63'、应用响应于消息15,获得方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及a1页面对应的Activity的taskID。
S64、应用向第三方接口层(EasyGoSDK)发送消息16,消息16中携带有方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)以及a1页面对应的Activity的taskID。
S65、第三方接口层(EasyGoSDK)向平行窗口管理器(HwMagicWindowManager)发送方法(method)2的方法名(称为setTaskPosition)、B页面的分屏位置(targetPosition)、a1页面对应的Activity的taskID以及该应用的包名(package name)。
S661'、平行窗口管理器(HwMagicWindowManager)判断a1页面对应的Activity的taskID对应的任务栈是否处于非分屏模式(即该Activity对应的A页面是否不处于分屏显示的状态)。
S662、平行窗口管理器(HwMagicWindowManager)判断该应用的包名(packagename)对应的应用是否支持应用内分屏功能。
S663、平行窗口管理器(HwMagicWindowManager)基于B页面的分屏位置(targetPosition),判断B页面的移动位置是否符合分屏显示的预设要求。
S67、平行窗口管理器(HwMagicWindowManager)在S661、S662以及S663的判断结果均为是时,建立一个新的Task(即一个与a1页面对应的任务栈不同的任务栈),且在该新的Task中启动B页面对应的Activity,并基于分屏位置(targetPosition)和B页面对应的Activity的taskID,确定出B页面的分屏参数。
另外,平行窗口管理器(HwMagicWindowManager)在S661、S662以及S663中的任意一个步骤的判断结果为否时,继续显示B页面。
S68、平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的taskID、B页面对应的Activity的taskID以及B页面的分屏参数,同时显示a1页面和B页面。
需要说明的是,图5F示例性所示的具体实现过程可参见前述内容,此处不做赘述。并且,图5E与图5F不同的是:图5E的步骤S621、S562-S63与图5F的步骤S62'-S63',以及图5E的步骤S661与图5F的步骤S661',其余步骤均相同。
另外,图6E与图6C不同的是:图6E的步骤S67中建立新的任务栈的时序与图6C的S421中建立新的任务栈的时序,以及图6E传输的a1页面对应的Activity的taskID与图6C的B页面对应的Activity的taskID,其余步骤类似。
另外,图6C和图6E中的操作701用于标识不同的含义,可为相同类型或者不同类型的操作。图6C中的操作701用于标识从显示一个任务栈中的a1页面跳转到另一个任务栈中的显示B页面。图6E中的操作701用于标识从显示一个任务栈中的a1页面跳转到显示该任务栈中的B页面。
2、B页面退出显示(对应于如图5B所示的步骤S221或者步骤S222)
如图5B的(2)和(3)所示,B页面中还可包括返回控件5,用于表示用户可从B页面触发返回控件5,返回控件5用于退出B页面显示。
电子设备在检测到用户指示的触发在B页面中的返回控件5的操作801后,可退出B页面对应的Activity,使得电子设备可以从显示图5B的(2)或(3)示例性所示的用户界面退回到显示图5B的(1)示例性所示的用户界面。
3、从左分屏显示的a1页面打开新页面,新页面将左分屏显示的a1页面替换掉(对应于如图5A所示的步骤S231或步骤S232)
31、从左分屏显示的a1页面打开C2页面,C2页面将左分屏显示的a1页面替换掉(对应于如图5A所示的步骤S231)
电子设备在检测到用户指示的触发在a1页面中的控件C2的操作901,可以向平行窗口管理器(HwMagicWindowManager)发送参数policy4和params8。
其中,由于用户在a1页面上进行的操作901,且a1页面显示在左分屏中,因此,参数policy4用于标识在从左分屏显示的a1页面打开C2页面时采用的策略,参数policy4可如采用数字、字符串、字母等形式进行表示。params8可以包括但不限于:a1页面对应的Activity(即焦点Activity)的令牌(token)、C2页面对应的Activity的令牌(token)、以及用于启动C2页面对应的Activity的intent的配置参数。
其中,a1页面对应的Activity的令牌(token)可以标识a1页面对应的Activity,C2页面对应的Activity的令牌(token)可以标识C2页面对应的Activity。用于启动C2页面对应的Activity的intent的配置参数可以启动C2页面对应的Activity。
平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的令牌(token),可判断该Activity对应的任务栈是不是处于分屏模式(即该Activity对应的a1页面是否处于分屏显示的状态)。
其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈(即a1页面对应的任务栈和B页面对应的任务栈),并通过a1页面对应的任务栈和B页面对应的任务栈是否为不同的任务栈,来判断该Activity对应的任务栈是不是处于分屏模式。从而,在确定a1页面对应的任务栈和B页面对应的任务栈为不同的任务栈时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示该Activity对应的任务栈是否处于分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确定该Activity对应的任务栈是否处于分屏模式。
平行窗口管理器(HwMagicWindowManager)在确定该Activity对应的任务栈处于分屏模式时,基于C2页面对应的Activity的令牌(token),启动用于启动C2页面对应的Activity的intent的配置参数,使得C2页面对应的Activity启动。进而,平行窗口管理器(HwMagicWindowManager)可确定C2页面的如分屏边界(bounds)以及移动动效等分屏参数,使得C2页面替换掉a1页面并显示在电子设备的左分屏中,如图5A的(41)所示。
其中,C2页面对应的Activity可以设置为Activity的四种启动模式(launchMode)中的任意一种。若C2页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则C2页面的启动方式为newtask启动,那么C2页面的分屏边界(bounds)可限定C2页面的窗口尺寸。
32、从左分屏显示的a1页面打开B页面,B页面将左分屏显示的a1页面替换掉(对应于如图5A所示的步骤S232)
电子设备在检测到用户指示的触发在a1页面中的控件B的操作902后,可以向平行窗口管理器(HwMagicWindowManager)发送参数policy5和params9。
其中,由于用户在a1页面上进行的操作902,且a1页面显示在左分屏中,因此,参数policy5用于标识在从左分屏显示的a1页面打开B页面时采用的策略,参数policy5可如采用数字、字符串、字母等形式进行表示。params9可以包括但不限于:a1页面对应的Activity(即焦点Activity)的令牌(token)、B页面对应的Activity的令牌(token)、以及用于启动B页面对应的Activity的intent的配置参数。
其中,a1页面对应的Activity的令牌(token)可以标识a1页面对应的Activity,B页面对应的Activity的令牌(token)可以标识B页面对应的Activity。用于启动B页面对应的Activity的intent的配置参数可以启动B页面对应的Activity。
平行窗口管理器(HwMagicWindowManager)基于a1页面对应的Activity的令牌(token),可判断该Activity对应的任务栈是不是处于分屏模式(即该Activity对应的a1页面是否处于分屏显示的状态)。
其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈(即a1页面对应的任务栈和B页面对应的任务栈),并通过a1页面对应的任务栈和B页面对应的任务栈是否为不同的任务栈,来判断该Activity对应的任务栈是不是处于分屏模式。从而,在确定a1页面对应的任务栈和B页面对应的任务栈为不同的任务栈时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示该Activity对应的任务栈是否处于分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确定该Activity对应的任务栈是否处于分屏模式。
平行窗口管理器(HwMagicWindowManager)在确定该Activity对应的任务栈处于分屏模式时,由于B页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,因此,电子设备可建立一个新的Task(即一个与a1页面对应的任务栈以及右分屏显示的B页面对应的任务栈均不同的任务栈),并基于B页面对应的Activity的令牌(token),启动用于启动B页面对应的Activity的intent的配置参数,使得B页面对应的Activity启动。进而,平行窗口管理器(HwMagicWindowManager)可确定B页面的如分屏边界(bounds)以及移动动效等分屏参数,使得B页面替换掉a1页面并显示在电子设备的左分屏中,如图5A的(42)所示。
其中,图5A所示的步骤S232的具体实现方式与图5A所示的步骤S231类似。
41、左分屏显示的C2页面退出显示(对应于如图5B所示的步骤S241)
如图5B的(41)所示,左分屏显示的C2页面中可包括返回控件6,用于表示用户可从C2页面触发返回控件6,返回控件6用于退出C2页面显示。
电子设备在检测到用户指示的触发在C2页面中的返回控件6的操作1001后,可以退出C2页面对应的Activity,使得电子设备从显示如图5B的(41)示例性所示的用户界面退回到显示如图5B的(3)示例性所示的用户界面。
42、左分屏显示的B页面退出显示(对应于如图5B所示的步骤S242)
如图5B的(42)所示,左分屏显示的B页面中还可包括返回控件7,用于表示用户可从B页面触发返回控件7,返回控件7用于退出B页面显示。
电子设备在检测到用户指示的触发在B页面中的返回控件7的操作1002后,可以退出左分屏中B页面对应的Activity,使得电子设备从显示如图5B的(42)示例性所示的用户界面退回到显示如图5B的(3)示例性所示的用户界面。
43、右分屏显示的B页面退出显示(对应于如图5B所示的步骤S261和步骤S262)
如图5B的(41)和(42)所示,右分屏显示的B页面中还可包括返回控件5,用于表示用户可从B页面触发返回控件5,返回控件5用于退出B页面显示。
电子设备在检测到用户指示的触发在B页面中的返回控件5的操作1003后,可以退出右分屏中B页面对应的Activity,使得电子设备从显示如图5B的(41)示例性所示的用户界面退回到显示如图5B的(1)或(2)示例性所示的用户界面,或者,使得电子设备从显示如图5B的(42)示例性所示的用户界面退回到显示如图5B的(1)或(2)示例性所示的用户界面。
5、从右分屏显示的B页面打开新页面(即D页面),D页面将右分屏显示的B页面替换掉(对应于如图5A所示的步骤S25)
电子设备在检测到用户指示的触发在B页面中的控件D的操作1101后,可以向平行窗口管理器(HwMagicWindowManager)发送参数policy6和params10。
其中,由于用户在B页面上进行的操作1101,且B页面显示在右分屏中,因此,参数policy6用于标识在从右分屏显示的B页面打开D页面时采用的策略,参数policy6可如采用数字、字符串、字母等形式进行表示。params10可以包括但不限于:B页面对应的Activity(即焦点Activity)的令牌(token)、D页面对应的Activity的令牌(token)以及用于启动D页面对应的Activity的intent的配置参数。
其中,B页面对应的Activity的令牌(token)用于标识B页面对应的Activity。D页面对应的Activity的令牌(token)用于标识D页面对应的Activity。用于启动D页面对应的Activity的intent的配置参数用于启动D页面对应的Activity。
平行窗口管理器(HwMagicWindowManager)基于B页面对应的Activity的令牌(token),可判断该Activity对应的任务栈是不是处于分屏模式(即该Activity对应的B页面是否处于分屏显示的状态)。
其中,平行窗口管理器(HwMagicWindowManager)可确定电子设备当前显示的页面对应的任务栈(即a1页面对应的任务栈和B页面对应的任务栈),并通过a1页面对应的任务栈和B页面对应的任务栈是否为不同的任务栈,来判断该Activity对应的任务栈是不是处于分屏模式。从而,在确定a1页面对应的任务栈和B页面对应的任务栈为不同的任务栈时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
或者,平行窗口管理器(HwMagicWindowManager)可从电子设备中获取指示标识,其中,该指示标识表示该Activity对应的任务栈是否处于分屏模式。从而,在该指示标识表示该Activity对应的任务栈处于分屏模式时,平行窗口管理器(HwMagicWindowManager)可确定该Activity对应的任务栈处于分屏模式。
需要说明的是,本申请不限于前述两种实现方式来确定该Activity对应的任务栈是否处于分屏模式。
平行窗口管理器(HwMagicWindowManager)在确定该Activity对应的任务栈处于分屏模式时,基于D页面对应的Activity的令牌(token),启动用于启动D页面对应的Activity的intent的配置参数,使得D页面对应的Activity启动,进而,平行窗口管理器(HwMagicWindowManager)可确定D页面的如分屏边界(bounds)以及移动动效等分屏参数,使得D页面替换掉B页面并显示在电子设备的右分屏中,如图5A的(5)所示。若否,则返回。
其中,D页面对应的Activity可以设置为Activity的四种启动模式(launchMode)中的任意一种。若D页面对应的Activity的启动模式(launchMode)设置为singleInstance模式,则D页面的启动方式为newtask启动,那么D页面的分屏边界(bounds)可限定D页面的窗口尺寸。
其中,图5A所示的步骤S25的具体实现方式与图5A所示的步骤S231或步骤S232类似。
6、右分屏显示的D页面退出显示(对应于如图5B所示的步骤S48)
如图5B的(5)所示,D页面中还可包括返回控件8,用于表示用户可从D页面触发返回控件8,返回控件8用于退出D页面显示。
电子设备在检测到用户指示的触发在D页面中的返回控件8的操作1201后,可以退出D页面对应的Activity,使得电子设备可以从显示图5B的(5)示例性所示的用户界面退回到显示图5B的(4)示例性所示的用户界面。
场景二中,基于前述描述,电子设备可实现如下功能:
1)电子设备响应于用户触发的操作可从显示a1页面切为a1页面和B页面分屏显示。
2)在a1页面和B页面分屏显示时,从a1页面打开C2页面,则C1页面销毁a1页面并在a1页面显示的区域进行显示,并不会把B页面销毁。
3)在a1页面和B页面分屏显示时,从B页面打开D页面,则D页面销毁B页面并在B页面显示的区域进行显示,并不会把a1页面销毁。
4)在a1页面和B页面分屏显示时,关闭C1页面,并不会影响B页面的显示。
5)在a1页面和B页面分屏显示时,关闭D页面,并不会影响a1页面的显示。
6)B页面可在全屏显示和分屏显示之间自由切换。
从而,在用户并行处理多任务时,电子设备可将任意一个应用从全屏显示一个子页面切为分屏显示该应用的其他页面,且从任意一个分屏中打开的新页面会销毁该分屏显示的页面并在该分屏中显示,解决了相关技术中由于不同分屏存在耦合关系而导致任意一个分屏打开的新页面会销毁其他分屏显示的页面的现象,避免了不同分屏中的页面之间的显示干扰,使得不同分屏中的页面可以独立运行,给用户提供多任务或沉浸式体验。另外,在该应用启动应用内分屏功能后,电子设备基于用户需求,可从分屏显示该应用的多个页面切换为全屏显示该应用的一个页面,也可从全屏显示该应用的一个页面切换为分屏显示该应用的多个页面,为用户提供高效且灵活的多窗口多任务体验。
基于图5A-图5F所示的描述,结合图6A-图6K,介绍电子设备完成任意一个应用的多个页面的分屏显示的具体实现过程。为了便于说明,图6A-图6K中,以电子设备为平板电脑,应用为微信应用,A页面为聊天对话框列表,a0页面中包括居中设置的微信应用的图标,a1页面为一个具体的聊天对话框窗口,B页面为微信应用中的XX视频小程序的页面,C2页面为A页面,D页面为B页面的视频1的图标对应的视频1的页面为例进行示意。
请参阅图6A-图6K,图6A-图6K为本申请一实施例提供的人机交互界面示意图。
平板电脑可显示如图6A示例性所示的用户界面21。其中,用户界面21可以为桌面的主界面(Home screen),用户界面21可以包括但不限于:状态栏,导航栏,日历指示符,天气指示符,以及多个应用程序图标等。应用程序图标至少包括:微信应用的图标601,还可以包括:如计算器的图标、华为视频的图标、浏览器的图标、相机的图标、音乐的图标、设置的图标、电子邮件的图标、备忘录的图标等。
平板电脑在检测到用户指示的打开微信应用的操作(如点击微信应用的图标401)后,可显示图6B示例性所示的用户界面22a和用户界面22b,且用户界面22a在左分屏显示,用户界面22b在右分屏显示。其中,用户界面22a可以用于显示微信应用的主页面(即A页面)。用户界面22b可以用于显示微信应用的副页面(即a0页面)。
其中,用户界面22a和用户界面22b的显示区域面积可以相同或者不同,本申请对此不做限定。另外,用户界面22a和用户界面22b重合的边界区域中可设置有用于调整用户界面22a和用户界面22b的显示区域面积的控件,以便基于用户需求实时调整用户界面22a和用户界面22b的显示区域面积。
需要说明的是,除了图6B示例性所示的用户界面22a和用户界面22b之外,平板电脑也可以全屏显示微信应用的主页面(即A页面),也可以在部分显示区域中(如居中)显示微信应用的主页面(即A页面),本申请对此不做限定。
平板电脑在检测到用户在图6B所示的用户界面22a中执行如点击控件602的操作后,可在右分屏中从显示图6B示例性所示的用户界面22b变为显示图6C示例性所示的用户界面23b。其中,用户界面23b可以为可以为微信应用的子页面(如用户与xiaoyi的聊天对话的页面(即a1页面)),进而方便用户与xiaoyi实现微信聊天。并且,平板电脑可继续在左分屏中显示图6C示例性所示的用户界面22a,进而方便用户实现微信应用的其他功能。
其中,控件602用于进入到用户与xiaoyi的聊天对话的页面(即a1页面)。本申请对控件602的具体实现方式不做限定。
其中,用户界面23b中至少包括控件603。其中,控件603用于显示XX视频浏览网页/XX视频小程序的主页面(即B页面)。控件603可以采用以链接、视频、图片、字符串或者文字等形式进行表示。
另外,用户界面22b中还可以包括返回控件6041(图6C中采用一个向左的箭头为例进行示意),返回控件6041用于退出a1页面,使得平板电脑可从用户界面22b返回并显示图6B示例性所示的用户界面22b。此处的返回控件6041可看作为图5A中的返回控件02。
其中,用户界面22a和用户界面23b的显示区域面积可以相同或者不同,本申请对此不做限定。另外,用户界面22a和用户界面23b重合的边界区域中可设置有用于调整用户界面22a和用户界面23b的显示区域面积的控件,以便基于用户需求实时调整用户界面22a和用户界面23b的显示区域面积。
平板电脑在检测到用户在图6C所示的用户界面23b中执行如点击控件603的操作后,可显示图6D示例性所示的用户界面24,用户界面24用于显示XX视频浏览网页/XX视频小程序的主页面(即B页面)。
需要说明的是,用户在图6C所示的用户界面23b中执行如点击控件603的操作可以看作为用户在a1页面中触发控件B对应图5C或图5E中的操作701。
用户界面24中至少包括:多功能控件605(图6D中采用三个实心点为例进行示意)、返回控件606(图6D中采用空心圆中有一个实心圆为例进行示意)以及B页面的页面内容。
其中,多功能控件605用于进入到XX视频浏览网页/XX视频小程序的如分享、移除、分屏/全屏显示、浮窗显示、设置、反馈与投诉、重新进入等功能的窗口。
其中,返回控件606用于退出XX视频浏览网页/XX视频小程序,使得平板电脑从当前用户界面(如用户界面24以及后文提及的用户界面25b、用户界面26b、用户界面27b和用户界面28等)返回并显示图6C示例性所示的用户界面22a和用户界面23b。此处的返回控件606可看作为图5A和图5B中的返回控件5。
平板电脑在检测到用户在图6D所示的用户界面24中执行如点击多功能控件605的操作后,可在用户界面24上显示图6E示例性所示的窗口607,窗口607中至少包括:控件6071。
其中,窗口607可以为XX视频浏览网页/XX视频小程序的如分享、移除、分屏/全屏显示、浮窗显示、设置、反馈与投诉、重新进入等功能的窗口,用于显示XX视频浏览网页/XX视频小程序的如分享、移除、分屏/全屏显示、浮窗显示、设置、反馈与投诉、重新进入等功能。
其中,控件6071用于实现B页面的分屏显示,可采用图标和/或文字进行表示。例如,图6D中的控件6071以文字“在分屏中显示”和图标为例进行表示。此处的控件6071可看作为图5A和图5B中的分屏/全屏控件。此处的点击多功能控件605的操作可看作为图5C或图5E中的操作701,此处的点击控件6071的操作可看作为图5C或图5E中的操作702。需要说明的是,控件6071也可显示在窗口607中,无需通过如点击多功能控件605的操作而显示出来。
平板电脑在检测到用户指示的在图6E所示的窗口607中执行如点击控件6071的操作后,可显示图6F示例性所示的用户界面25a和用户界面25b,且用户界面25a在左分屏显示,用户界面25b在右分屏显示。其中,用户界面25a用于显示微信应用的子页面(即a1页面)。用户界面25b用于显示有XX视频浏览网页/XX视频小程序的B页面。进而方便用户浏览XX视频浏览网页/XX视频小程序的页面的同时还能与xiaoyi微信聊天。
其中,用户界面25a和用户界面25b的显示区域面积可以相同或者不同,本申请对此不做限定。用户界面25a和用户界面25b的显示位置可以互换,即用户界面25a在右分屏显示,用户界面25b在左分屏显示。另外,用户界面25a和用户界面25b重合的边界区域中可设置有用于调整用户界面25a和用户界面25b的显示区域面积的控件,以便基于用户需求实时调整用户界面25a和用户界面25b的显示区域面积。
需要说明的是,除了上述方式之外,平板电脑在检测到用户在图6C所示的用户界面23b中执行如点击控件603的操作后,可显示图6F示例性所示的用户界面25a和用户界面25b,且用户界面25a在左分屏显示,用户界面25b在右分屏显示。即,图6D-图6E所示实施例的描述为可选地步骤。此处的点击控件603的操作可看作为图5D或图5F中的操作701。
从而,平板电脑可在左分屏中运行微信应用,与此同时,在右分屏中运行XX视频浏览网页/XX视频小程序,使得用户可在a1页面和B页面中进行如点击、滑动、长按等操作,同步实现视频观看以及即时聊天等功能,提升了用户的使用体验。
综上,图6A-图6F所示实施例的描述,电子设备可实现a1页面在电子设备的左分屏中显示且B页面在电子设备的右分屏中显示,从而完成微信应用的应用内分屏显示,即左a1右B。
需要说明的是,按照图6A-图6F所示实施例的描述,电子设备可实现B页面在电子设备左分屏中显示且B页面在电子设备的右分屏中显示,从而完成微信应用的应用内分屏。另外,在左分屏显示的B页面中还可以包括返回控件,其中,返回控件用于退出B页面,使得平板电脑从当前用户界面返回并显示图6F示例性所示的用户界面25a和用户界面25b。此处的返回控件可看作为图5A和图5B中的返回控件7,且返回控件与在右分屏显示的B页面中的返回控件606不同。
平板电脑在检测到用户在图6F所示的用户界面25a中执行如点击控件6042(图6F中采用一个向左的箭头为例进行示意)的操作后,可在左分屏中从显示图6F示例性所示的用户界面25a变为显示图6G示例性所示的用户界面26a,其中,用户界面26a可以为微信应用的主页面(即A页面),进而方便用户浏览XX视频浏览网页/XX视频小程序的页面的同时还能使用微信应用的其他功能。并且,平板电脑可继续在右分屏中显示图6G示例性所示的用户界面25b。
其中,控件6042用于进入到微信应用的主页面(即A页面)。本申请对控件6042的具体实现方式不做限定。另外,用户界面26a中至少还包括返回控件602(图6G中采用一个向左的箭头为例进行示意),返回控件602用于退出C1页面,即显示a1页面,使得平板电脑可从用户界面26a返回并显示图6F示例性所示的用户界面25a,方便用户与xiaoyi实现微信聊天。此处的返回控件6042可看作为图5A和图5B中的返回控件6。
综上,图6F-图6G所示实施例的描述,电子设备在a1页面和B页面左右分屏显示时,从a1页面打开的新页面可替换a1页面进行显示,而不会替换B页面进行显示,实现了左右分屏的独立且分离显示,避免相互之间的显示干扰,即左点左出。另外,电子设备还可以从新页面退回到a1页面进行显示,即左右任务独立。
平板电脑在检测到用户在图6F所示的用户界面25b中执行如点击控件608上的操作后,可在右分屏中从显示图6F示例性所示的用户界面25b变为显示图6H示例性所示的用户界面27b,其中,用户界面27b可以为视频1的页面(即D页面),进而方便用户与小艺微信聊天的同时还能观看视频1。并且,平板电脑可继续在左分屏中显示图6H示例性所示的用户界面25a。
其中,控件608用于进入到视频1的页面(即D页面)。本申请对控件608的具体实现方式不做限定。另外,用户界面27a中至少还包括返回控件609(图6H中采用一个向左的箭头为例进行示意),返回控件6H用于退出D页面,使得平板电脑可从用户界面27b返回并显示图6F示例性所示的用户界面25b,方便用户使用XX视频浏览网页/XX视频小程序的其他功能。此处的返回控件609可看作为图5A和图5B中的返回控件8。
需要说明的是,平板电脑在检测到用户在图6F所示的用户界面25b中执行如点击控件608上的操作后,可在右分屏中从显示图6G示例性所示的用户界面25b变为显示图6H示例性所示的用户界面27b,其中,用户界面27b可以为视频1的页面(即D页面),进而方便用户实现微信应用的其他功能的同时还能观看视频1。并且,平板电脑可继续在左分屏中显示图6G示例性所示的用户界面26a。前述方式是用户在平板电脑上观看视频1的另一种可行的实现方式。
综上,图6F和图6H所示实施例的描述,电子设备在a1页面和B页面左右分屏显示时,从B页面打开的新页面可替换B页面进行显示,而不会替换a1页面进行显示,实现了左右分屏的独立且分离显示,避免相互之间的显示干扰,即右点右出。另外,电子设备还可以从新页面退回到B页面进行显示,即左右任务独立。
平板电脑在检测到用户在图6H所示的用户界面27b中执行如点击多功能控件605的操作后,可在用户界面27b上显示图6I示例性所示的窗口607,窗口607中至少包括:控件6072。
其中,窗口607的具体实现方式可参见图6E所示实施例的描述,此处不做赘述。控件6072用于实现B页面的全屏显示,可采用图标和/或文字进行表示。例如,图6I中的控件6072以文字“退出分屏显示/切换到全屏显示”和图标为例进行表示。此处的控件6072可看作为图5A和图5B中的分屏/全屏控件。需要说明的是,控件6072也可显示在窗口607中,无需通过如点击多功能控件605的操作而显示出来。
需要说明的是,控件6071和控件6072通常不同时显示在窗口607中,且在窗口607中的同一个区域进行切换显示。其中,当B页面全屏显示时,平板电脑可在窗口607中显示控件6071,进而方便用户实现B页面从全屏显示切换至分屏显示。当B页面分屏显示时,平板电脑可在窗口607中显示控件6072,进而方便用户实现B页面从分屏显示切换至全屏显示。
平板电脑在检测到用户在图6I所示的窗口607中执行点击控件6072的操作后,可显示图6J示例性所示的用户界面28,其中,用户界面28用于全屏显示XX视频浏览网页/XX视频小程序的B页面,进而方便用户全屏观看视频1。
综上,图6H-图6J所示实施例的描述,电子设备可实现视频1从分屏显示到全屏显示。
平板电脑在检测到用户在图6J所示的用户界面28中执行如点击多功能控件605的操作后,可在用户界面28上显示图6K示例性所示的窗口607,窗口607中至少包括:控件6071。
其中,窗口607和控件6071的具体实现方式可参见图6E或图6I所示实施例的描述,此处不做赘述。
平板电脑在检测到用户在图6K所示的窗口607中执行点击控件6071的操作后,可显示图6H示例性所示的用户界面25a和用户界面27b,进而方便用户观看视频1的同时能够运行微信应用。
综上,图6J、图6K及图6H所示实施例的描述,电子设备可实现视频1从全屏显示到分屏显示。
需要说明的是,除了B页面为微信应用中的XX视频小程序的页面之外,B页面还可以为微信应用中的XX视频网页的页面或者微信应用中的XX公众号的页面,本申请对此不做限定。
基于前述场景一和场景二的描述,微信应用可能未开启应用内分屏功能,导致用户无法实现B页面的分屏显示。下面,结合图7A-图7C,对微信应用未开启应用内分屏功能的具体表示方式进行举例说明。
请参阅图7A-图7C,图7A-图7C为本申请一实施例提供的人机交互界面示意图。
在一些实施例中,B页面中不存在用于实现B页面的分屏显示的控件,无法向用户提供对该控件执行相应操作的渠道,导致电子设备无法实现B页面的分屏显示。
例如,平板电脑在检测到用户在图4E所示的用户界面15中执行如点击多功能控件405的操作后,可在用户界面15上显示图7A示例性所示的窗口407,窗口407中不包括控件4071。进而导致用户无法执行如点击控件4071的操作,平板电脑便也无法实现A页面与B页面的分屏显示。又如,平板电脑在检测到用户在图6D所示的用户界面24中执行如点击多功能控件605的操作后,可在用户界面24上显示图7A示例性所示的窗口607,窗口607中不包括控件6071。进而导致用户无法执行如点击控件4071的操作,平板电脑便也无法实现a1页面与B页面的分屏显示。
又如,平板电脑在检测到用户在图4P所示的用户界面43中执行如点击多功能控件417的操作后,可在用户界面43上显示的窗口419不包括控件4191。进而导致用户无法执行如点击控件4191的操作,平板电脑便也无法实现A页面与B页面的分屏显示。此处未使用附图进行说明,可具体实现方式可参见图7A所示的类似描述。
在另一些实施例中,B页面中存在用于实现B页面的分屏显示的控件,但用户对该控件进行相应操作后,电子设备对该操作不作响应,便无法实现B页面的分屏显示。
例如,平板电脑在检测到用户在图4E所示的用户界面15中执行如点击多功能控件405的操作后,可在用户界面15上显示图4F示例性所示的窗口407,窗口407中至少包括:控件4071。但是,用户点击控件4071,平板电脑不作响应,无法显示图4G示例性所示的用户界面16a和用户界面16b。
又如,平板电脑在检测到用户在图6D所示的用户界面24中执行如点击多功能控件605的操作后,可在用户界面24上显示图6E示例性所示的窗口607,窗口607中至少包括:控件6071。但是,用户点击控件6071,平板电脑不作响应,显示图6F示例性所示的用户界面25a和用户界面25b。在一些实施例中,平板电脑在对前述操作不作响应后,可在窗口407/607上显示图7B示例性所示的窗口701,窗口701用于提醒用户微信应用未打开应用内分屏功能。
其中,本申请对窗口701的具体实现方式不做限定。例如,窗口701采用一个圆角矩形框、文字“未打开平行视界设置”的控件,使得用户可及时获知微信应用无法实现应用内分屏显示。为了便于说明,本申请采用配置参数“平行视界”来代表应用内分屏功能。
又如,平板电脑在检测到用户在图4P所示的用户界面43中执行如点击多功能控件417的操作后,可在用户界面43上显示图4Q示例性所示的窗口419,窗口419中至少包括:控件4191。但是,用户点击控件4191,平板电脑不作响应,无法显示图4R示例性所示的用户界面44a和用户界面44b。
在一些实施例中,平板电脑在对前述操作不作响应后,可在窗口419上显示一窗口,该窗口用于提醒用户微信应用未打开应用内分屏功能。其中,本申请对该窗口的具体实现方式可参见窗口701的具体实现方式,此处不做赘述。
综上,无论是用户从设置应用的应用中找到配置参数“平行视界”的界面,还是用户点击窗口701中的文字“未打开平行视界设置”的控件,平板电脑均可显示图7C示例性所示的用户界面31,用户界面31用于启动/关闭微信应用的应用内分屏功能。
其中,本申请对用户界面31的具体实现方式不做限定。例如,用户界面31中至少包括微信应用的开关操作按钮702,微信应用的开关操作按钮702包括开启状态和关闭状态。在微信应用的开关操作按钮702开启时,微信应用的开关操作按钮702用于启动微信应用的应用内分屏功能。在微信应用的开关操作按钮702关闭时,微信应用的开关操作按钮702用于关闭微信应用的应用内分屏功能。
在开启状态下,微信应用的开关操作按钮702的图标以一个灰色填充的圆角矩形框内右侧设置有一个空心圆圈为例进行示意;在关闭状态下,微信应用的开关操作按钮702的图标以一个空心的圆角矩形框内左侧设置有一个空心圆圈为例进行示意。本申请对微信应用的开关操作按钮702的图标的具体实现方式不做限定。
平板电脑在检测到用户指示的开启微信应用的应用内功能的操作后(如开启微信应用的开关操作按钮702,可将微信应用的应用内分屏功能打开。用户再次对B页面中的用于实现B页面的分屏显示的控件执行相应的操作,如点击控件4071/6071,电子设备便可实现B页面的分屏显示。
从而,基于用户需求方便实时更改任意一个应用是否支持应用内分屏功能。例如,在电子设备首次启动任意一个应用的应用内分屏功能时,电子设备的显示屏可显示一个弹窗,该弹窗用于提示用户启动电子设备中全部的应用程序的应用内分屏功能,方便用户实现任意一个应用的应用内分屏功能。另外,任意一个应用也可以默认支持应用内分屏功能。
基于前述场景一和场景二的描述,微信应用的任意一个页面(如A页面或者a1页面)与B页面分屏显示后,任意一个页面与B页面的显示区域面积可相同或不同。
通常,电子设备可默认任意一个页面与B页面的显示区域面积相同。例如,场景一中,图4G示例性所示的用户界面16a和用户界面16b的显示区域面积相同。图4R示例性所示的用户界面44a和用户界面44b的显示区域面积相同。又如,场景二中,图6F示例性所示的用户界面25a和用户界面25b的显示区域面积相同。
在一些实施例中,任意一个页面与B页面重合的边界区域中可设置有用于调整任意一个页面与B页面的显示区域面积的控件,以便基于用户需求实时调整整任意一个页面与B页面的显示区域面积。从而,电子设备可向用户提供更丰富的显示效果,满足用户更多的显示需求。其中,该控件可包括多种实现方式,例如,滑动按钮或者配置按钮等。
下面,结合图7D-图7E,对电子设备调整任意一个页面与B页面的显示区域面积的具体实现方式进行举例说明。图7D-图7E中,以场景一中的图4G所示的用户界面16a和用户界面16b为例,该控件可设置在用户界面16a和用户界面16b的相邻区域703(图7D中采用点划线的矩形框进行示意)中,如该控件采用滑动按钮703(图7D中采用黑色的矩形块进行示意)为例进行示意。
请参阅图7D-图7E,图7D-图7E为本申请一实施例提供的人机交互界面示意图。
如图7D所示,用户界面16a和用户界面16b重合的边界区域设置有滑动按钮703,滑动按钮703可用于改变用户界面16a和用户界面16b的显示区域面积,满足用户更多的显示需求。其中,本申请对滑动按钮703的具体实现方式不做限定。例如,滑动按钮703在图7D中采用一个黑色填充的矩形块为例进行示意。
平板电脑在检测到用户在滑动按钮703上执行的向右滑动的操作后,可显示图7E示例性所示的用户界面32a、用户界面32b和用户界面32c。其中,用户界面32a用于显示A页面。用户界面32b用于显示a0页面。用户界面32c用于显示B页面。
相比于图7D所示的用户界面16a而言,图7E所示的用户界面32a的显示区域面积变小。另外,用户界面16a和用户界面32a中的页面内容可不发生改变,也可发生改变,本申请对此不做限定。例如,用户界面16b和用户界面32c中的页面内容未发生改变,但增加了a0页面的显示内容。
相比于图7D所示的用户界面16b而言,图7E所示的用户界面32c的显示区域面积变小。另外,用户界面16b和用户界面32c中的页面内容可不发生改变,也可发生改变,本申请对此不做限定。例如,用户界面16b和用户界面32c中的页面内容未发生改变。
在一些实施例中,电子设备在实现该应用的任意一个页面与B页面的分屏显示时,可直接显示任意一个页面和B页面,也可以先显示任意一个页面和B页面的背景UI再显示任意一个页面和B页面,本申请对此不做限定。进而可向用户提供丰富的显示动效,提升用户的使用体验。
其中,背景UI可以采用高斯模糊处理后的壁纸,也可以采用高斯模糊处理后的B页面,也可以采用全黑显示,也可以采用主界面等,本申请对此不做限定。
下面,结合图7F-图7G,对电子设备显示任意一个页面和B页面的背景UI再显示任意一个页面和B页面的具体实现方式进行举例说明。
请参阅图7F-图7G,图7F-图7G为本申请一实施例提供的人机交互界面示意图。
场景一中,平板电脑在检测到用户指示的在图4F所示的窗口407中执行如点击控件4071的操作后,可先显示图7F示例性所述的用户界面16a和用户界面16c,且用户界面16a在左分屏显示,用户界面16c在右分屏显示,再显示图4G示例性所示的用户界面16a和用户界面16b,且用户界面16a在左分屏显示,用户界面16b在右分屏显示。
其中,用户界面16c为B页面的背景UI,本申请对用户界面16c的具体实现方式不做限定。例如,用户界面16c可采用高斯模糊处理后的B页面为例进行示意。
场景二中,平板电脑在检测到用户指示的在图6E所示的窗口607中执行如点击控件6071的操作后,可先显示图7G示例性所示的用户界面25a和用户界面25c,且用户界面25a在左分屏显示,用户界面25c在右分屏显示,再显示图6F示例性所示的用户界面25a和用户界面25b,且用户界面25a在左分屏显示,用户界面25b在右分屏显示。
其中,用户界面25c为B页面的背景UI,本申请对用户界面25c的具体实现方式不做限定。例如,用户界面25c可采用高斯模糊处理后的B页面为例进行示意。
基于前述的一些实施例,下面介绍本申请提供的应用页面显示方法。
示例性地,本申请提供一种应用页面显示方法。请参阅图8,图8为本申请提供的一种应用页面显示方法的流程示意图。本申请的应用页面显示方法的执行主体为前文提及的电子设备。
如图8所示,本申请的应用页面显示方法可以包括:
S101、显示第一应用的第一页面。
S102、响应于用户的第一操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合。
S1031、在第一页面上接收用户的第二操作。
S1032、响应于第二操作,在第一区域中显示第一应用的第三页面,且在第二区域中显示第二页面。
S1041、在第二页面上接收用户的第三操作。
S1042、响应于第三操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第四页面。
其中,第一操作可以为多次点击操作,也可以为一次点击操作,也可以为一次长按操作,也可以为其他类型的一次或者多次操作,也可以为不同类型组合后的一次或者多次操作,本申请对第一操作的具体实现方式不做限定。在一些实施例中,第一操作的具体实现方式可参见图3A实施例中的操作101或操作102的描述,以及,可参见图3C/图3E实施例中的操作102的描述,以及,可参见图3D/图3F实施例中的操作101的描述。
其中,第一页面可以为第一应用中的任意一个页面。例如,第一页面可以为第一应用的主页面,也可以为第一应用中除了主页面之外的页面。在一些实施例中,第一页面的具体实现方式可参见图3A-图3F、图4A-图4L实施例中的A页面,或者,可参见图5A-图5F、图6A-图6J实施例中的a1页面。
其中,第二页面可以为第一应用中的任意一个页面,第一页面与第二页面的页面内容可以相同或者不同,本申请对此不限限定。在一些实施例中,第二页面的具体实现方式可参见图3A-图3F、图4A-图4L、图5A-图5F、图6A-图6J实施例中的B页面。
其中,第一区域和第二区域均为电子设备的显示区域。本申请对第一区域和第二区域的区域面积不做限定。另外,第一区域与第二区域可覆盖电子设备的全部显示区域,第一区域与第二区域可覆盖电子设备的部分显示区域,本申请对此不做限定。
在一些实施例中,若电子设备处于横屏状态,则第一区域为电子设备左屏的显示区域,第二区域可为电子设备右屏的显示区域;或者,第一区域为电子设备右屏的显示区域,第二区域可为电子设备左屏的显示区域。若电子设备处于竖屏状态,则第一区域为电子设备上屏的显示区域,第二区域可为电子设备下屏的显示区域;或者,第一区域为电子设备下屏的显示区域,第二区域可为电子设备上屏的显示区域。
在一些实施例中,第一区域和第二区域可参见图3A-图3F、图4A-图4L实施例中的A页面与B页面分屏显示对应的区域,以及可参见图5A-图5F、图6A-图6J实施例中的a1页面与B页面分屏显示对应的区域。
在一些实施例中,第一区域和第二区域的区域面积相等。由此,提升用户浏览第一页面与第二页面的观感。
其中,第二操作为在第一页面上触发的操作,第二操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第二操作的具体实现方式可参见图3A-图3F、图4A-图4L实施例中的操作301的描述,或者,可参见图5A-图5F、图6A-图6J实施例中的操作901的描述。
其中,第三操作为第二页面上触发的操作,第三操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第二操作的具体实现方式可参见图3A-图3F、图4A-图4L实施例中的操作501的描述,或者,可参见图5A-图5F、图6A-图6J实施例中的操作1101的描述。
其中,第三页面可以为第一应用中除了第一页面之外的其他页面,本申请对此不做限定。在一些实施例中,第三页面的具体实现方式可参见图3A-图3F、图4A-图4L实施例中的C1页面/B页面的描述,或者,可参见图5A-图5F、图6A-图6J实施例中的C2页面/A页面的描述。
其中,第四页面可以为第一应用中除了第二页面之外的其他页面,本申请对此不做限定。在一些实施例中,第三页面的具体实现方式可参见图3A-图3F、图4A-图4L实施例中的D页面,或者,可参见图5A-图5F、图6A-图6J实施例中的D页面。
本领域技术人员可以理解,活动(Activity)是一个Android应用(APP)的显示型组件,Activity提供窗口与用户进行交互,用于显示APP的内容。一个Activity通常是一个单独的窗口,该窗口可以充满电子设备的显示屏的显示区域,也可以小于电子设备的显示区域并悬浮在其他窗口之上。一个APP通常是由多个彼此松散联系的Activity组成。通常,APP可以指定某个Activity为主Activity,指的是用户首次启动APP时给用户呈现的Activity,对应的,主Activity所呈现窗口即为APP中的主页面。例如,微信应用的主页面为聊天对话框列表对应的页面。
任务(Task)是一个Activity的集合,它使用栈(即任务栈)的方式来管理栈中的Activity,这个栈又被称为返回栈(back stack),栈中的Activity的顺序就是按照Activity被打开的顺序依次存放的。
进而,本申请提及的页面可以理解为应用的向用户呈现的一个Activity,本申请提及的区域可以理解为应用的Activity所在任务栈所显示的区域。由此,第一区域对应的任务栈中的任意一个Activity的显示区域小于等于第一区域,第二区域对应的任务栈中的任意一个Activity的显示区域小于等于第二区域。
由于第一区域与第二区域不重合,故,第一区域对应的任务栈与第二区域对应的任务栈不同,便可确保第一区域中显示的页面与第二区域中显示的页面之间不会互相干扰。
基于前述描述,在第一页面显示在第一区域中且第二页面显示在第二区域中时,第一页面对应的第一任务栈与第二页面对应的第二任务栈不同,从而确保了第一页面的显示不会干扰第二页面的显示。
第三页面对应的任务栈与第二区域对应的任务栈不同,便可确保第三页面的显示不会干扰第二区域中如第二页面或第四页面等页面的显示。其中,第三页面对应的任务栈可以为第一任务栈,也可以为除了第一任务栈和第二任务栈之外的其他任务栈。
第四页面对应的任务栈与第一区域对应的任务栈不同,便可确保第四页面的显示不会干扰第一区域中如第一页面或第三页面等页面的显示。其中,第四页面对应的任务栈可以为第二任务栈,也可以为除了第一任务栈和第二任务栈之外的其他任务栈。
需要说明的是,上述提及的第一任务栈、第二任务栈、其他任务栈等任务栈均第一应用的任务栈。
其中,本申请的具体实现方式可参见图3A-图3F、图4A-图4L实施例中A页面与B页面分屏显示以及从A页面打开C1页面/B页面实现C1页面/B页面与B页面分屏显示以及从B页面打开D页面实现A页面与D页面分屏显示的描述,或者,可参见图5A-图5F、图6A-图6J实施例中a1页面与B页面分屏显示以及从a1页面打开C2页面/A页面实现C2页面/A页面与B页面分屏显示以及从B页面打开D页面实现A页面与D页面分屏显示的描述,此处不做赘述。
本申请中,在用户并行处理多任务时,电子设备可将任意一个应用从全屏显示主页面切为分屏显示该应用的其他页面,且从任意一个分屏中打开的新页面会销毁该分屏显示的页面并在该分屏中显示,解决了相关技术中由于不同分屏存在耦合关系而导致任意一个分屏打开的新页面会销毁其他分屏显示的页面的现象,避免了不同分屏中的页面之间的显示干扰,使得不同分屏中的页面可以独立运行,给用户提供多任务或沉浸式体验。另外,在该应用启动应用内分屏功能后,电子设备基于用户需求,可从分屏显示该应用的多个页面切换为全屏显示该应用的一个页面,也可从全屏显示该应用的一个页面切换为分屏显示该应用的多个页面,为用户提供高效且灵活的多窗口多任务体验。
在一些实施例中,方法还包括:在第三页面上接收用户的第四操作。响应于第四操作,在第一区域中显示第一页面,且在第二区域中显示第二页面。和/或,在第四页面上接收用户的第五操作。响应于第五操作,在第一区域中显示第一页面,且在第二区域中显示第二页面。
其中,第四操作为在第三页面上触发的操作,第四操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第四操作的具体实现方式可参见图3A-图3F、图4A-图4L实施例中的操作401的描述,或者,可参见图5A-图5F、图6A-图6J实施例中的操作1001的描述,此处不做赘述。
在一些实施例中,第三页面中可包括一控件,该控件用于表示从显示第三页面跳转至显示第一页面。且本申请对该控件的形状、位置、大小等参数不做限定。故,第四操作便为在该控件上触发的操作。例如,该控件的具体实现方式可参见图3B的(41)实施例中的返回控件2和图4H实施例中的返回控件410的描述,或者可参见图5B的(41)实施例中的返回控件6和图6F实施例中的返回控件6042的描述。
其中,第五操作为在第四页面上触发的操作,第五操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第五操作的具体实现方式可参见图3A-图3F、图4A-图4L实施例中的操作601的描述,或者,可参见图5A-图5F、图6A-图6J实施例中的操作1201的描述,此处不做赘述。
在一些实施例中,第四页面中可包括一控件,该控件用于表示从显示第四页面跳转至显示第二页面。且本申请对该控件的形状、位置、大小等参数不做限定。故,第五操作便为在该控件上触发的操作。例如,该控件的具体实现方式可参见图3B的(5)实施例中的返回控件4和图4I实施例中的返回控件411的描述,或者可参见图5B的(5)实施例中的返回控件8和图6H实施例中的返回控件609的描述。
本申请中,步骤S101-S1042的具体实现方式可参见图3A-图3F、图4A-图4L实施例中从C1页面与B页面分屏显示返回到A页面与B页面分屏显示以及从A页面与D页面分屏显示返回到A页面与B页面分屏显示的描述,或者,可参见图5A-图5F、图6A-图6J实施例中从a1页面与D页面分屏显示返回到a1页面与B页面分屏显示以及从a1页面与D页面分屏显示返回到a1页面与B页面分屏显示的描述,此处不做赘述。
需要说明的是,本申请可执行步骤S1031-S1032,也可执行步骤S1041-S1042,也可以步骤S1031-S1032和步骤S1041-S1042,本申请对此不做限定。
由此,电子设备可从第三页面与第二页面分屏显示跳转至第一页面与第二页面分屏显示,也可从第三页面与第四页面分屏显示跳转至第一页面与第二页面分屏显示,也可从第一页面与第四页面分屏显示跳转至第一页面与第二页面分屏显示,从而更加贴近用户操作,有利于提升用户的使用体验。
在一些实施例中,显示第一应用的第一页面之后,响应于用户的第一操作之前,方法还包括:在第二页面上接收用户的第六操作。响应于第六操作,显示第一控件,第一控件用于表示将第一页面和第二页面分屏显示。在第一控件上接收第一操作。
其中,第六操作为在第二页面上触发的操作,第六操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第二操作的具体实现方式可参见图3C/图3E实施例中的操作101的描述,且第一操作的具体实现方式可参见图3C/图3E实施例中的操作102的描述。且本申请对第一控件的形状、位置、大小等参数不做限定。在一些实施例中,第一控件的具体实现方式可参见图4E实施例中的控件4071的描述,以及可参见图4Q实施例中的控件4191的描述,以及可参见图6E实施例中的控件6071的描述。
综上,在第一页面显示之后电子设备可向用户显示第二页面。此时,基于用户想要分屏的意愿,电子设备在第二页面上接收到第二操作时,便显示第一控件。电子设备在第一控件上接收到第一操作时,便可在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合。由此,基于用户意愿,为将第一页面与第二页面的分屏显示提供了一种可能的实现方式,更贴切用户的使用习惯。
在一些实施例中,响应于用户的第一操作之前,方法还包括:在第一页面上接收第一操作。例如,第一操作的具体实现方式可参见图3D/图3F实施例中的操作101的描述。在一些实施例中,第一页面中可包括一控件,该控件用于表示将第一页面和第二页面分屏显示。且本申请对该控件的形状、位置、大小等参数不做限定。故,第五操作便为在该控件上触发的操作。
综上,电子设备在第一页面上接收到第一操作时,便可在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合。由此,为将第一页面与第二页面的分屏显示提供了另一种可能的实现方式,为用户提供流畅的浏览体验。
在一些实施例中,该方法还包括:在第一区域和第二区域的相邻区域中显示第二控件,第二控件用于调整第一区域和第二区域的区域面积。其中,第一区域和第二区域的相邻区域可以为第一区域和第二区域之间的区域。且本申请对第二控件的形状、位置、大小等参数不做限定。例如,相邻区域的具体实现方式可参见图7C实施例中的区域703的描述,第二控件的具体实现方式可参见图7D实施例中的滑动按钮703的描述。由此,基于用户意愿,为调整第一区域和第二区域的区域面积提供一种可能的实现方式,有利于提升用户的使用体验。
在一些实施例中,方法还包括:在第一页面和/或第二页面上接收用户的第七操作;响应于第七操作,显示第三控件,第三控件用于表示将第一页面全屏显示;在第三控件上接收第八操作;响应于第八操作,显示第一页面。
其中,第七操作可为在第一页面上触发的操作,也可以为在第二页面上触发的操作,也可为在第一页面和第二页面上触发的操作,本申请对此不做限定。另外,第七操作的类型包括但不限于点击、长按、拖拽等至少一种类型。
在一些实施例中,第二页面中可包括一控件,该控件用于显示第三控件。且本申请对该控件和第三控件的形状、位置、大小等参数不做限定。例如,该控件的具体实现方式可参见图4I实施例中的多功能控件405的描述,以及可参见图4T实施例中的多功能控件417的描述,以及可参见图6H实施例中的多功能控件605的描述,且第三控件的具体实现方式可参见图4J实施例中的控件4072的描述,以及可参见图4U实施例中的控件4192的描述,以及可参见图6I实施例中的控件6072的描述。
其中,第八操作可为在第三控件上触发的操作,第八操作的类型包括但不限于点击、长按、拖拽等至少一种类型。
其中,本申请的具体实现方式可参见图3A-图3F、图4A-图4L实施例中从A页面与B页面分屏显示返回到A页面全屏显示的描述,或者,可参见图5A-图5F、图6A-图6J实施例中从a1页面与B页面分屏显示返回到A页面与a1页面显示的描述,此处不做赘述。
综上,在第一页面与第二页面分屏显示时,电子设备在接收到第七操作时,便可显示第三控件。电子设备在第三控件上接收到第八操作时,便可显示第一页面。由此,基于用户意愿,为将第一页面与第二页面的分屏显示转换为第一页面的显示提供了一种可能的实现方式,更贴切用户的使用习惯。从而,在该应用启动应用内分屏功能进行显示时,该应用中的任意一个页面可按照用户需求在全屏显示和分屏显示之间自由切换,为用户提供高效且灵活的多窗口多任务体验。
在一些实施例中,该方法还包括:在第二页面上接收用户的第九操作。响应于第九操作,显示第一页面。其中,第九操作可为在第二页面上触发的操作,第九操作的类型包括但不限于点击、长按、拖拽等至少一种类型。在一些实施例中,第二页面中可包括一控件,该控件用于表示将第一页面全屏显示。且本申请对该控件的形状、位置、大小等参数不做限定。故,第九操作便为在该控件上触发的操作。
综上,在第一页面与第二页面分屏显示时,电子设备在接收到第一操作时,便可显示第一页面。由此,为将第一页面与第二页面的分屏显示转换为第一页面的显示提供了另一种可能的实现方式,为用户提供流畅的浏览体验。从而,在该应用启动应用内分屏功能进行显示时,该应用中的任意一个页面可按照用户需求在全屏显示和分屏显示之间自由切换,为用户提供高效且灵活的多窗口多任务体验。
其中,第一页面的全屏显示可包括多种显示方式。例如,第一页面的具体实现方式可参见图3A-图3F、图4A-图4L实施例中A页面的显示方式的描述,此处不做赘述,或者,可参见图5A-图5F、图6A-图6J实施例中a1页面的显示方式的描述,此处不做赘述。
在一些实施例中,在第三区域中显示第一页面,第三区域包括第一区域和第二区域。由此,为第一页面的全屏显示提供了一种可能的实现方式,向用户尽可能大的展示第一页面,有利于用户浏览第一页面。例如,第三区域为图9A示例性所示的用户界面91对应的区域,第三区域覆盖电子设备的全部显示区域,且第一页面以图3A-图3F、图4A-图4L实施例中A页面为例进行示意。
在一些实施例中,在第一区域中显示第一页面,且在第二区域中显示第一应用的第五页面,第五页面与第一页面和第二页面均不同。其中,第五页面可为第一应用中除了第一页面之外的其他页面,且第五页面的任务栈与第一任务栈相同。例如,第五页面的具体实现方式可参见图3A-图3F、图4A-图4L实施例中a0页面的显示方式的描述,此处不做赘述,由此,为第一页面的全屏显示提供了另一种可能的实现方式,使得用户能够浏览更多页面的页面内容。例如,第一区域为图9B示例性所示的用户界面92a对应的区域,且第一页面以图3A-图3F、图4A-图4L实施例中A页面为例进行示意。第二区域为图9B示例性所示的用户界面92b对应的区域,且第五页面以图3A-图3F、图4A-图4L实施例中a0页面为例进行示意。
在一些实施例中,在第四区域中显示第一页面,第四区域至少包括第一区域的部分和第二区域的部分。由此,为第一页面的全屏显示提供了另一种可能的实现方式,向用户提供更为舒适的浏览体验。例如,第四区域为图9C示例性所示的用户界面93对应的区域,且第一页面以图3A-图3F、图4A-图4L实施例中A页面为例进行示意。可见,第一页面在电子设备上居中显示。其中,以图9C中的虚线AA为准,电子设备上位于虚线AA左边的用户界面94a对应的区域为第一区域,电子设备上位于虚线AA右边的用户界面94b对应的区域为第二区域。故,第四区域既包括第一区域的一部分和第二区域的一部分。
在一些实施例中,第一页面对应第一任务栈,响应于用户的第一操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合,具体为:响应于第一操作,建立第二任务栈,并向第一应用发送第一消息,第一消息用于标识第一操作,第一操作与第二页面相关,第二页面对应第二任务栈,第一任务栈与第二任务栈不同。从第一应用接收第二消息,第二消息用于指示将第一页面与第二页面分屏显示。响应于第二消息,在第一区域中显示第一页面,且在第二区域中显示第二页面。
其中,本申请对第一消息和第二消息的具体实现方式不做限定。电子设备建立第二任务栈的步骤,以及电子设备向第一应用发送第一消息的步骤的执行顺序不分先后,可顺序执行,也可以同时执行,本申请对此也不做限定。且电子设备建立第二任务栈的步骤,需要在电子设备接收到第二消息之前。
其中,第二页面的启动模式设置为新建任务栈的模式。故,电子设备响应于第一操作,便可建立第二页面对应的第二任务栈。
例如,第一任务栈的具体实现方式可参见图3A-图3F、图4A-图4L实施例中A页面对应的任务栈的描述,或者,可参见图5A-图5F、图6A-图6J实施例中a1页面对应的任务栈的描述,此处不做赘述,第二任务栈的具体实现方式可参见图3A-图3F、图4A-图4L实施例中新建的任务栈的描述,或者,可参见图5A-图5F、图6A-图6J实施例中新的任务栈的描述,此处不做赘述,此处不做赘述。
其中,上述过程的具体实现方式可参见图3A-图3D、图4A-图4L实施例的描述,或者,可参见图5A-图5D、图6A-图6J实施例的描述,此处不做赘述。
在一些实施例中,响应于第二消息,在第一区域中显示第一页面,且在第二区域中显示第二页面,包括:
在基于第二消息,确定第二任务栈存在、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。
或者,
在基于第二消息,确定第一任务栈处于非分屏模式、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。
其中,上述过程的具体实现方式可参见图3A-图3D、图4A-图4L实施例的描述,或者,可参见图5A-图5D、图6A-图6J实施例的描述,此处不做赘述。
由此,在第二任务栈已建立时,电子设备基于上述条件,可实现在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中的过程。
需要说明的是,确定第一任务栈处于非分屏模式该条件也可以替换为确定是否存在第一任务栈这一个任务栈。
在一些实施例中,第二消息包括:第一标识、第二标识以及第三标识,第一标识用于指示将第一页面与任意一个页面分屏显示,第二标识用于表示任意一个页面的分屏位置,第三标识为任意一个页面的标识或者第二任务栈的标识。
在一些实施例中,第一页面对应第一任务栈,响应于用户的第一操作,在第一区域中显示第一页面,且在第二区域中显示第一应用的第二页面,第一区域与第二区域不重合,具体为:响应于第一操作,向第一应用发送第三消息,第三消息用于标识第一操作,第一操作与第二页面相关,第二页面对应第一任务栈;从第一应用接收第四消息,第四消息用于指示将第一页面与第二页面分屏显示;响应于第四消息,建立第二任务栈,第二页面从对应第一任务栈更改为对应第二任务栈,第一任务栈与第二任务栈不同;并在第一区域中显示第一页面,且在第二区域中显示第二页面。
其中,本申请对第三消息和第四消息的具体实现方式不做限定。
其中,第二页面的启动模式设置为非新建任务栈的模式。故,电子设备响应于第一操作,便不会建立第二页面对应的第二任务栈,且此时第二页面对应的任务栈为第一任务栈。电子设备在确定第四消息用于指示将第一页面与第二页面分屏显示时,建立第二任务栈,且第二页面对应第一任务栈更改为对应第二任务栈,即第二页面的Activity在第二任务栈中。
其中,上述过程的具体实现方式可参见图3A-图3B、图3E-图3F、图4A-图4L实施例的描述,或者,可参见图5A-图5B、图5E-图5F、图6A-图6J实施例的描述,此处不做赘述。
在一些实施例中,在第一区域中显示第一页面,且在第二区域中显示第二页面,包括:
在基于第四消息,确定第二页面对应第一任务栈、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。或者,
在基于第四消息,确定第一任务栈处于非分屏模式、确定第一应用支持应用内分屏功能以及第二页面符合分屏显示的预设要求时,基于第一任务栈的标识、第二任务栈的标识以及第二页面的分屏参数,在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中。
其中,上述过程的具体实现方式可参见图3A-图3B、图3E-图3F、图4A-图4L实施例的描述,或者,可参见图5A-图3B、图3E-图3F、图6A-图6J实施例的描述,此处不做赘述。
由此,在第二任务栈未建立时,电子设备基于上述条件,可建立第二任务栈,并实现在第一任务栈中将第一页面显示在第一区域中,在第二任务栈中将第二页面显示在第二区域中的过程。
需要说明的是,确定第一任务栈处于非分屏模式该条件也可以替换为确定是否存在第一任务栈这一个任务栈。
在一些实施例中,第四消息包括:第四标识、第五标识以及第六标识,第四标识用于指示将第一页面与任意一个页面分屏显示,第五标识用于表示任意一个页面的分屏位置,第六标识为任意一个页面的标识或者第一任务栈的标识。
在一些实施例中,响应于第二操作,在第一区域中显示第一应用的第三页面,具体为:接收第五消息,第五消息用于表示从第一页面中打开第三页面,第三页面对应第一任务栈;响应于第五消息,判断第一任务栈是否处于分屏模式;在第一任务栈处于分屏模式时,基于第一任务栈的标识、第三页面的标识以及第三页面的分屏参数,在第一任务栈中将第三页面显示在第一区域中。其中,本申请对第五消息的具体实现方式不做限定。
由此,电子设备在确定从第一页面中打开第三页面时,可判断第一任务栈是否处于分屏模式,即第一页面是否处于分屏显示的状态。从而,在确定第一任务栈处于分屏模式时,电子设备可在第一区域中显示第三页面,且在第二区域中的页面仍继续显示。
需要说明的是,除了第三页面对应的Activity在第一任务栈中之外,第三页面对应的Activity也可在除了第一任务栈和第二任务栈之外的其他任务栈中,且第一区域对的任务栈变为该其他任务栈,且上述显示第三页面的判断条件保持不变。
其中,本申请的具体实现方式可参见图3A-图3F、图4A-图4L实施例中从A页面打开C1页面/B页面的描述,或者,可参见图5A-图5F、图6A-图6J实施例中从a1页面打开C2页面/A页面的描述,此处不做赘述。
在一些实施例中,响应于第三操作,在第二区域中显示第一应用的第四页面,具体为:接收第六消息,第六消息用于表示从第二页面打开第四页面,第四页面对应第二任务栈;响应于第六消息,判断第二任务栈是否处于分屏模式;在第二任务栈处于分屏模式时,基于第二任务栈的标识、第四页面的标识以及第四页面的分屏参数,在第二任务栈中将第四页面显示在第二区域中。其中,本申请对第六消息的具体实现方式不做限定。
由此,电子设备在确定从第二页面中打开第四页面时,可判断第二任务栈是否处于分屏模式,即第二页面是否处于分屏显示的状态。从而,在确定第二任务栈处于分屏模式时,电子设备可在第二区域中显示第四页面,且在第一区域中的页面仍继续显示。
需要说明的是,除了第四页面对应的Activity在第二任务栈中之外,第四页面对应的Activity也可在除了第二任务栈和第一任务栈之外的其他任务栈中,且第二区域对的任务栈变为该其他任务栈,且上述显示第四页面的判断条件保持不变。
其中,本申请的具体实现方式可参见图3A-图3F、图4A-图4L实施例中从B页面打开D的描述,或者,可参见图5A-图5F、图6A-图6J实施例中从B页面打开D页面的描述,此处不做赘述。
示例性地,本申请提供一种电子设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令使得电子设备执行前文实施例中的应用页面显示方法。
示例性地,本申请提供一种芯片系统,芯片系统应用于包括存储器、显示屏和传感器的电子设备;芯片系统包括:处理器;当处理器执行存储器中存储的计算机指令时,电子设备执行前文实施例中的应用页面显示方法。
示例性地,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器使得电子设备执行时实现前文实施例中的应用页面显示方法。
示例性地,本申请提供一种计算机程序产品,包括:执行指令,执行指令存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取执行指令,至少一个处理器执行执行指令使得电子设备实现前文实施例中的应用页面显示方法。
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (21)
1.一种应用页面显示方法,其特征在于,包括:
显示第一应用的第一页面;
响应于用户的第一操作,在第一区域中显示所述第一页面,且在第二区域中显示所述第一应用的第二页面,所述第一区域与所述第二区域不重合;
在所述第一页面上接收用户的第二操作;
响应于所述第二操作,在所述第一区域中显示所述第一应用的第三页面,且在所述第二区域中显示所述第二页面;和/或,
在所述第二页面上接收用户的第三操作;
响应于所述第三操作,在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第一应用的第四页面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第三页面上接收用户的第四操作;
响应于所述第四操作,在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第二页面;和/或,
在所述第四页面上接收用户的第五操作;
响应于所述第五操作,在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第二页面。
3.根据权利要求1或2所述的方法,其特征在于,所述显示第一应用的第一页面之后,响应于用户的第一操作之前,所述方法还包括:
在所述第二页面上接收用户的第六操作;
响应于所述第六操作,显示第一控件,所述第一控件用于表示将所述第一页面和所述第二页面分屏显示;
在所述第一控件上接收所述第一操作。
4.根据权利要求1或2所述的方法,其特征在于,响应于用户的第一操作之前,所述方法还包括:
在所述第一页面上接收所述第一操作。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在所述第一区域和所述第二区域的相邻区域中显示第二控件,所述第二控件用于调整所述第一区域和所述第二区域的区域面积。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一区域和所述第二区域的区域面积相等。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
在所述第一页面和/或所述第二页面上接收用户的第七操作;
响应于所述第七操作,显示第三控件,所述第三控件用于表示将所述第一页面全屏显示;
在所述第三控件上接收第八操作;
响应于所述第八操作,显示第一页面。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
在所述第二页面上接收用户的第九操作;
响应于所述第九操作,显示所述第一页面。
9.根据权利要求1-8任一项所述的方法,其特征在于,显示所述第一页面,包括:在第三区域中显示所述第一页面,所述第三区域包括所述第一区域和所述第二区域;或者,
在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第一应用的第五页面,所述第五页面与所述第一页面和所述第二页面均不同;或者,
在第四区域中显示所述第一页面,所述第四区域至少包括所述第一区域的部分和所述第二区域的部分。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述第一页面对应第一任务栈,所述响应于用户的第一操作,在第一区域中显示所述第一页面,且在第二区域中显示所述第一应用的第二页面,所述第一区域与所述第二区域不重合,具体为:
响应于所述第一操作,建立第二任务栈,并向所述第一应用发送第一消息,所述第一消息用于标识所述第一操作,所述第一操作与所述第二页面相关,所述第二页面对应所述第二任务栈,所述第一任务栈与所述第二任务栈不同;
从所述第一应用接收第二消息,所述第二消息用于指示将所述第一页面与所述第二页面分屏显示;
响应于所述第二消息,在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第二页面。
11.根据权利要求10所述的方法,其特征在于,所述响应于所述第二消息,在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第二页面,包括:
在基于所述第二消息,确定所述第二任务栈存在、确定所述第一应用支持应用内分屏功能以及所述第二页面符合分屏显示的预设要求时,基于所述第一任务栈的标识、所述第二任务栈的标识以及所述第二页面的分屏参数,在所述第一任务栈中将所述第一页面显示在所述第一区域中,在所述第二任务栈中将所述第二页面显示在所述第二区域中;或者,
在基于所述第二消息,确定所述第一任务栈处于非分屏模式、确定所述第一应用支持应用内分屏功能以及所述第二页面符合分屏显示的预设要求时,基于所述第一任务栈的标识、所述第二任务栈的标识以及所述第二页面的分屏参数,在所述第一任务栈中将所述第一页面显示在所述第一区域中,在所述第二任务栈中将所述第二页面显示在所述第二区域中。
12.根据权利要求10或11所述的方法,其特征在于,所述第二消息包括:第一标识、第二标识以及第三标识,所述第一标识用于指示将所述第一页面与任意一个页面分屏显示,所述第二标识用于表示所述任意一个页面的分屏位置,所述第三标识为所述任意一个页面的标识或者所述第二任务栈的标识。
13.根据权利要求1-9任一项所述的方法,其特征在于,所述第一页面对应第一任务栈,所述响应于用户的第一操作,在第一区域中显示所述第一页面,且在第二区域中显示所述第一应用的第二页面,所述第一区域与所述第二区域不重合,具体为:
响应于所述第一操作,向所述第一应用发送第三消息,所述第三消息用于标识所述第一操作,所述第一操作与所述第二页面相关,所述第二页面对应所述第一任务栈;
从所述第一应用接收第四消息,所述第四消息用于指示将所述第一页面与所述第二页面分屏显示;
响应于所述第四消息,建立第二任务栈,所述第二页面从对应第一任务栈更改为对应所述第二任务栈,所述第一任务栈与所述第二任务栈不同;并在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第二页面。
14.根据权利要求13所述的方法,其特征在于,所述在所述第一区域中显示所述第一页面,且在所述第二区域中显示所述第二页面,包括:
在基于所述第四消息,确定所述第二页面对应所述第一任务栈、确定所述第一应用支持应用内分屏功能以及所述第二页面符合分屏显示的预设要求时,基于所述第一任务栈的标识、所述第二任务栈的标识以及所述第二页面的分屏参数,在所述第一任务栈中将所述第一页面显示在所述第一区域中,在所述第二任务栈中将所述第二页面显示在所述第二区域中;或者,
在基于所述第四消息,确定所述第一任务栈处于非分屏模式、确定所述第一应用支持应用内分屏功能以及所述第二页面符合分屏显示的预设要求时,基于所述第一任务栈的标识、所述第二任务栈的标识以及所述第二页面的分屏参数,在所述第一任务栈中将所述第一页面显示在所述第一区域中,在所述第二任务栈中将所述第二页面显示在所述第二区域中。
15.根据权利要求13或14所述的方法,其特征在于,所述第四消息包括:第四标识、第五标识以及第六标识,所述第四标识用于指示将所述第一页面与任意一个页面分屏显示,所述第五标识用于表示所述任意一个页面的分屏位置,所述第六标识为所述任意一个页面的标识或者所述第一任务栈的标识。
16.根据权利要求10-15任一项所述的方法,其特征在于,所述第五页面对应所述第一任务栈。
17.根据权利要求10-16任一项所述的方法,其特征在于,响应于所述第二操作,在所述第一区域中显示所述第一应用的第三页面,具体为:
接收第五消息,所述第五消息用于表示从所述第一页面中打开所述第三页面,所述第三页面对应所述第一任务栈;
响应于所述第五消息,判断所述第一任务栈是否处于分屏模式;
在所述第一任务栈处于分屏模式时,基于所述第一任务栈的标识、所述第三页面的标识以及所述第三页面的分屏参数,在所述第一任务栈中将所述第三页面显示在所述第一区域中。
18.根据权利要求10-17任一项所述的方法,其特征在于,响应于所述第三操作,在所述第二区域中显示所述第一应用的第四页面,具体为:
接收第六消息,所述第六消息用于表示从所述第二页面打开所述第四页面,所述第四页面对应所述第二任务栈;
响应于所述第六消息,判断所述第二任务栈是否处于分屏模式;
在所述第二任务栈处于分屏模式时,基于所述第二任务栈的标识、所述第四页面的标识以及所述第四页面的分屏参数,在所述第二任务栈中将所述第四页面显示在所述第二区域中。
19.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器用于存储程序指令;
所述处理器用于调用所述存储器中的程序指令使得所述电子设备执行权利要求1-18任一项所述的应用页面显示方法。
20.一种芯片系统,其特征在于,所述芯片系统应用于包括存储器、显示屏和传感器的电子设备;所述芯片系统包括:处理器;当所述处理器执行所述存储器中存储的计算机指令时,所述电子设备执行如权利要求1-18任一项所述的应用页面显示方法。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器使得电子设备执行时实现权利要求1-18任一项所述的应用页面显示方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010658161 | 2020-07-09 | ||
CN2020106581615 | 2020-07-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986408A true CN113986408A (zh) | 2022-01-28 |
Family
ID=79731571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010955785.3A Pending CN113986408A (zh) | 2020-07-09 | 2020-09-11 | 应用页面显示方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986408A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115525187A (zh) * | 2022-01-30 | 2022-12-27 | 荣耀终端有限公司 | 一种分屏方法以及相关设备 |
CN116048373A (zh) * | 2022-06-24 | 2023-05-02 | 荣耀终端有限公司 | 悬浮球控件的显示方法、电子设备以及存储介质 |
CN116048317A (zh) * | 2023-01-28 | 2023-05-02 | 荣耀终端有限公司 | 一种显示方法及装置 |
CN116302291A (zh) * | 2023-05-11 | 2023-06-23 | 荣耀终端有限公司 | 应用显示方法、电子设备以及存储介质 |
CN116719466A (zh) * | 2022-09-14 | 2023-09-08 | 荣耀终端有限公司 | 多任务界面显示的方法、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814766A (zh) * | 2018-11-26 | 2019-05-28 | 华为技术有限公司 | 一种应用显示方法及电子设备 |
-
2020
- 2020-09-11 CN CN202010955785.3A patent/CN113986408A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814766A (zh) * | 2018-11-26 | 2019-05-28 | 华为技术有限公司 | 一种应用显示方法及电子设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115525187A (zh) * | 2022-01-30 | 2022-12-27 | 荣耀终端有限公司 | 一种分屏方法以及相关设备 |
CN115525187B (zh) * | 2022-01-30 | 2023-08-11 | 荣耀终端有限公司 | 一种分屏方法以及相关设备 |
CN116048373A (zh) * | 2022-06-24 | 2023-05-02 | 荣耀终端有限公司 | 悬浮球控件的显示方法、电子设备以及存储介质 |
CN116048373B (zh) * | 2022-06-24 | 2023-09-22 | 荣耀终端有限公司 | 悬浮球控件的显示方法、电子设备以及存储介质 |
CN116719466A (zh) * | 2022-09-14 | 2023-09-08 | 荣耀终端有限公司 | 多任务界面显示的方法、电子设备及存储介质 |
CN116719466B (zh) * | 2022-09-14 | 2024-04-12 | 荣耀终端有限公司 | 多任务界面显示的方法、电子设备及存储介质 |
CN116048317A (zh) * | 2023-01-28 | 2023-05-02 | 荣耀终端有限公司 | 一种显示方法及装置 |
CN116048317B (zh) * | 2023-01-28 | 2023-08-22 | 荣耀终端有限公司 | 一种显示方法及装置 |
CN116302291A (zh) * | 2023-05-11 | 2023-06-23 | 荣耀终端有限公司 | 应用显示方法、电子设备以及存储介质 |
CN116302291B (zh) * | 2023-05-11 | 2023-10-20 | 荣耀终端有限公司 | 应用显示方法、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814766B (zh) | 一种应用显示方法及电子设备 | |
WO2021027747A1 (zh) | 一种界面显示方法及设备 | |
WO2020259452A1 (zh) | 一种移动终端的全屏显示方法及设备 | |
WO2021103981A1 (zh) | 分屏显示的处理方法、装置及电子设备 | |
EP3787298A1 (en) | Flexible screen display method and terminal | |
WO2021036770A1 (zh) | 一种分屏处理方法及终端设备 | |
CN113497909B (zh) | 一种设备交互的方法和电子设备 | |
CN113986408A (zh) | 应用页面显示方法和电子设备 | |
CN111913750B (zh) | 一种应用程序管理方法、装置及设备 | |
CN115866122A (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN114363462B (zh) | 一种界面显示方法、电子设备及计算机可读介质 | |
CN114327666B (zh) | 应用启动方法、装置和电子设备 | |
CN113961157B (zh) | 显示交互系统、显示方法及设备 | |
CN111669459A (zh) | 键盘显示方法、电子设备和计算机可读存储介质 | |
WO2020155875A1 (zh) | 电子设备的显示方法、图形用户界面及电子设备 | |
CN114077365A (zh) | 分屏显示方法和电子设备 | |
CN112068907A (zh) | 一种界面显示方法和电子设备 | |
WO2021042878A1 (zh) | 一种拍摄方法及电子设备 | |
EP4163782A1 (en) | Cross-device desktop management method, first electronic device, and second electronic device | |
CN113885973A (zh) | 翻译结果显示方法、装置及电子设备 | |
WO2023207799A1 (zh) | 消息处理方法和电子设备 | |
EP4290841A1 (en) | Card display method, electronic device, and computer readable storage medium |
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 |