CN117519864A - 界面显示方法、电子设备及存储介质 - Google Patents
界面显示方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117519864A CN117519864A CN202311215864.0A CN202311215864A CN117519864A CN 117519864 A CN117519864 A CN 117519864A CN 202311215864 A CN202311215864 A CN 202311215864A CN 117519864 A CN117519864 A CN 117519864A
- Authority
- CN
- China
- Prior art keywords
- screen
- display
- window
- application
- point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000004044 response Effects 0.000 claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010079 rubber tapping Methods 0.000 claims description 6
- 230000001976 improved effect Effects 0.000 abstract description 14
- 230000002159 abnormal effect Effects 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 68
- 230000000694 effects Effects 0.000 description 42
- 238000013461 design Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 238000003825 pressing Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 229920001621 AMOLED Polymers 0.000 description 3
- 239000002775 capsule Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000010813 municipal solid waste Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000000415 inactivating effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例涉及终端技术领域,尤其涉及一种界面显示方法、电子设备及存储介质。该方法可以应用于包括显示屏的电子设备。该方法包括:在第一时间点,在第一屏显示第一应用的界面;之后,在第二时间点,响应于预设的目标操作,在第二屏显示第二应用的二维码;接下来,在第三时间点,响应于结束第二屏显示的事件,第二屏黑屏。在第二时间点和第三时间点之间,第二屏的容器节点在第一屏的容器节点之上。可以在第二屏黑屏时调整第一屏的容器节点在第二屏的容器节点之上,这样就能够使得焦点窗口及时切换到容器节点靠上的第一屏,从而使得第一屏显示的界面能够响应用户的操作,因而能够缓解界面响应异常的情况,可以提升用户的使用体验。
Description
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种界面显示方法、电子设备及存储介质。
背景技术
随着用户对电子设备的多样化需求的发展,兼具大屏和便捷性的折叠屏电子设备受到用户的广泛欢迎。电子设备的折叠屏可折叠形成至少两个显示区域。例如,折叠屏可沿折叠边或折叠轴折叠形成第一屏幕显示区域和第二屏幕显示区域(下文可简称为,第一屏、第二屏)。在显示屏处于折叠状态下,第一屏与第二屏的显示方向相背。
在用户使用显示屏处于折叠状态下的电子设备的过程中,在使用该第一屏和第二屏进行界面显示时,电子设备存在界面响应异常的情况,用户的使用体验较差。
发明内容
本申请实施例提供一种界面显示方法、电子设备及存储介质,可以在第二屏黑屏时调整第一屏的容器节点在第二屏的容器节点之上,这样就能够使得焦点窗口及时切换到容器节点靠上的第一屏,从而使得第一屏显示的界面能够响应用户的操作,因而能够缓解界面响应异常的情况,可以提升用户的使用体验。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种界面显示方法,该方法可以应用于包括显示屏的电子设备(如,手机、平板电脑等等);显示屏的显示区域包括第一屏和第二屏,电子设备的显示屏处于折叠状态,第一屏和第二屏的显示方向相背。上述方法包括:在第一时间点,电子设备在第一屏显示第一应用的界面。在第二时间点,响应于预设的目标操作(如,背屏敲击操作),在第二屏显示第二应用的二维码;第二时间点晚于第一时间点。在第一时间点和第二时间点之间,第二屏处于黑屏状态,第一屏的容器节点在第二屏的容器节点之上;第一屏的容器节点与第二屏的容器节点挂载于根节点。在第三时间点,响应于结束第二屏显示的事件,第二屏黑屏;第三时间点晚于第二时间点。在第二时间点和第三时间点之间,第二屏的容器节点在第一屏的容器节点之上,第一屏显示有第一应用的界面。在第三时间点之后,第一屏显示有第一应用的界面,第一屏的容器节点在第二屏的容器节点之上。
可以理解的,上述第一屏的容器节点在第二屏的容器节点之上,也可以表述为,第一屏的容器节点在第二屏的容器节点之前,第一屏的容器节点先于第二屏的容器节点等等。以及,由于挂载于根节点的容器节点之间具有位置关系。上述第一屏的容器节点在第二屏的容器节点之上可以理解为,第一屏的容器节点的位置顺序在第二屏的容器节点的位置顺序之上。
在该方法中,电子设备可以在第二屏黑屏时调整第一屏的容器节点在第二屏的容器节点之上,这样就能够使得焦点窗口及时切换到容器节点靠上的第一屏,从而使得第一屏显示的界面能够响应用户的操作,因而能够缓解界面响应异常的情况,可以提升用户的使用体验。
在第一方面的一种可能的设计中,上述方法还包括:基于结束第二屏显示的事件,将第二屏的容器节点调整到底部。
在这种设计中,电子设备可以基于结束第二屏显示的事件,将第二屏的容器节点调整到底部;这样,第一屏的容器节点就可以位于第二屏的容器节点之上。可以进一步地缓解电子设备出现界面响应异常的情况,提升用户的使用体验。
在第一方面的另一种可能的设计中,在第二时间点和第三时间点之间,第二屏的容器节点挂载了与显示任务对应的窗口节点。上述将第二屏的容器节点调整到底部,包括:电子设备移除显示任务;之后,电子设备将第二屏的容器节点调整到底部。
在第一方面的又一种可能的设计中,在第一时间点与第二时间点之间,焦点窗口为第一屏的容器节点挂载的窗口节点;在第二时间点与第三时间点之间,焦点窗口为第二屏的容器节点挂载的窗口节点。上述方法还包括:在第三时间点,基于第一屏的容器节点在第二屏的容器节点之上,焦点窗口的更新判断条件通过,电子设备将挂载于第一屏的容器节点的窗口节点设置为焦点窗口。
在这种设计中,由于第一屏的容器节点在第二屏的容器节点之上,电子设备执行焦点窗口的更新判断条件的执行结果就会是通过;在焦点窗口的更新判断条件通过,电子设备就可以将挂载于第一屏的容器节点的窗口节点设置为焦点窗口。这样,电子设备的焦点窗口(挂载于第一屏的容器节点的窗口节点)就能够响应于返回操作。可以进一步地缓解电子设备界面响应异常的情况,提升用户的使用体验。
在第一方面的又一种可能的设计中,在第三时间点之后,响应于返回操作,电子设备基于焦点窗口为第一屏的容器节点挂载的窗口节点,电子设备在第一屏执行返回操作所指示的第一应用的界面切换。
考虑到用户可以在电子设备上通过返回操作控制在第一屏显示的第一应用的切换。在这种设计中,由于电子设备的焦点窗口为第一屏的容器节点挂载的窗口节点,电子设备就能够在第一屏上执行返回操作所指示的第一应用的界面切换。这样,可以缓解用户在电子设备上触发的返回操作在第一屏上无响应的情况。那么,就可以进一步地缓解电子设备界面响应异常的情况,提升用户的使用体验。
在第一方面的又一种可能的设计中,上述第一应用的界面是电子书应用的电子书显示界面,电子书显示界面包括电子书的当前页。上述方法还包括:在第三时间点之后,响应于按动音量键操作,电子设备基于焦点窗口为第一屏的容器节点挂载的窗口节点,对在第一屏显示的电子书的当前页进行翻页。
考虑到用户在使用电子书时,可能会通过电子设备的音量键进行翻页操作。在这种设计中,由于电子设备的焦点窗口为第一屏的容器节点挂载的窗口节点,那么手机就能够响应于用户对音量键的按动操作,将第一屏显示的电子书的当前页进行翻页。
在第一方面的又一种可能的设计中,上述方法还可以包括:基于结束第二屏显示的事件,将第一屏的容器节点调整到顶部。
在第一方面的另一种可能的设计中,上述响应于预设的目标操作,电子设备在第二屏显示第二应用的二维码,包括:响应于预设的目标操作,电子设备在第二屏显示第二应用的二维码,以及在第一屏显示第二屏显示控件。上述在第三时间点,响应于结束第二屏显示的事件,第二屏黑屏,包括:在第三时间点,基于针对第二屏显示控件的移除操作,第二屏黑屏;在第三时间点之后,第一屏未显示有第二屏显示控件。
在这种设计中,用户可以通过第一屏显示的控件控制第二屏显示的二维码的开启或关闭,可以提升用户的使用体验。
在第一方面的又一种可能的设计中,上述电子设备响应于结束第二屏显示的事件,第二屏黑屏,包括:电子设备基于第二应用的二维码被扫描完成,第二屏黑屏。或者,电子设备基于第二屏显示第二应用的二维码的时长超过预设时长(如,3秒、5秒、10秒),第二屏黑屏。
在第一方面的另一种可能的设计中,目标操作包括从第一屏的后方向第一屏的前方敲击的操作。在这设计中,用户可以很便捷地在电子设备上触发目标操作,可以提升用户的使用体验。
第二方面,提供又一种界面显示方法,该方法可以应用于包括显示屏的电子设备(如,手机、平板电脑等等);显示屏的显示区域包括第一屏和第二屏,电子设备的显示屏处于折叠状态,第一屏和第二屏的显示方向相背。该方法包括:在第四时间点,电子设备在第一屏显示第三应用的界面。在第四时间点,根节点挂载第一屏的容器节点。在第五时间点,响应于预设的目标操作,电子设备在第二屏显示第四应用的二维码,并创建挂载于根节点的第二屏的容器节点。第五时间点晚于第四时间点。在第六时间点,电子设备响应于结束第二屏显示的事件,第二屏黑屏,并移除第二屏的容器节点,第六时间点晚于第五时间点。在第五时间点和第六时间点之间,第二屏的容器节点在第一屏的容器节点之上,第一屏显示有第三应用的界面。在第六时间点之后,第一屏显示有第三应用的界面。
在上述方法中,电子设备可以在第二屏黑屏时删除第二屏的容器节点,这样就能够使得焦点窗口及时切换到容器节点靠上的第一屏,从而使得第一屏显示的界面能够响应用户的操作,因而能够缓解界面响应异常的情况,可以提升用户的使用体验。
第三方面,本申请提供一种电子设备,该电子设备包括:存储器、一个或多个处理器、蓝牙模块;存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行上述第一方面及第一方面任一种可能的设计所提供的方法;或者使得电子设备执行上述第二方面及第二方面任一种可能的设计所提供的方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及第一方面任一种可能的设计所提供的方法;或者使得电子设备执行上述第二方面及第二方面任一种可能的设计所提供的方法。
第五方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得电子设备可以执行上述第一方面及第一方面任一种可能的设计所提供的方法;或者使得电子设备执行上述第二方面及第二方面任一种可能的设计所提供的方法。
其中,第三方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1A-图1D为本申请实施例提供的一组电子设备的形态示意图;
图2为本申请实施例提供的一种使用场景的示意图;
图3为本申请实施例提供的电子设备的硬件结构的示意图;
图4为本申请实施例提供的电子设备的软件结构的示意图;
图5为本申请实施例提供的一种界面显示方法流程的示意图;
图6为本申请实施例提供的一种用户图形界面的示意图;
图7为本申请实施例提供的又一种界面显示方法流程的示意图;
图8为本申请实施例提供的一种树形节点逻辑关系的示意图;
图9为本申请实施例提供的一种容器节点的位置顺序的示意图;
图10为本申请实施例提供的一种树形节点逻辑关系变化的示意图;
图11为本申请实施例提供的又一种树形节点逻辑关系变化的示意图;
图12A和图12B为一组使用场景示意图;
图13为本申请实施例提供的另一种界面显示方法流程的示意图;
图14A-图14G为本申请实施例提供的一组用户图形界面的示意图;
图15为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
随着用户对电子设备的多样化需求的发展,兼具大屏和便捷性的折叠屏电子设备受到用户的广泛欢迎。电子设备的折叠屏可折叠形成至少两个显示区域。例如,折叠屏可沿折叠边或折叠轴折叠形成第一屏幕显示区域和第二屏幕显示区域(下文可简称为,第一屏、第二屏)。电子设备上折叠屏的折叠方式可以分为两类。一类为朝外翻折的折叠屏(简称外折折叠屏),另一类为朝内翻折的折叠屏(简称内折折叠屏)。其中,以折叠屏可以折叠形成第一屏和第二屏为例。外折折叠屏被折叠后,第一屏的显示方向和第二屏的显示方向相背,显示方向即为屏幕正面的朝向。可以理解的,电子设备的显示屏可以为柔性屏,上述第一屏和第二屏是同一柔性屏中的两个不同的显示区域。
本申请实施例涉及的电子设备主要以具有外折折叠屏的电子设备为例。示例性地,外折折叠屏可以包括竖折和横折两种方式。竖折指的是将电子设备的屏幕纵向朝外翻折。横折指的是将电子设备的屏幕横向朝外翻折。本申请实施例以电子设备的屏幕横向朝外翻折为例介绍。需要指出的是,竖折和横折两种方式可以根据具体的使用进行设计,本申请实施例对此不做任何限制。
示例性的,图1A所示为该电子设备的显示屏展开状态(可以简称为展开态)时的示意图。可以看到,该电子设备包括第一屏和第二屏。在展开状态下,第一屏和第二屏可以形成一个比较大的显示屏来显示用户界面。该第一屏和第二屏可以沿着折叠轴或折叠边(图1A至图1D中以折叠轴为例示出)折叠。
示例性地,在图1A中,第二屏可以沿着1a所示的方向折叠,和/或,第一屏可以沿着1b所示的方向折叠可以获得如图1B所示的状态。示例性地,在图1B中,第二屏可以沿着1c所示的方向继续折叠可以获得图1C所示的折叠状态(可以简称为折叠态)。图1C中示出了折叠状态下的第二屏。折叠状态下的第一屏可以示例性参见图1D。
示例性地,上述第一屏可以称为电子设备的主屏,上述第二屏也可以称为电子设备的副屏;若电子设备处于折叠状态下第一屏与第二屏方向向背,一般是第一屏面(主屏)向用户,第二屏背对用户;因此,第二屏又可以称为背屏。
可以理解的是,上述图1A至图1D所示仅为示例,不构成对本申请实施例的限制。示例性地,在另外一些实施例中,除了上述第一屏和第二屏之外,电子设备还可以包括其它的显示屏,本申请实施例对此不做限制。
在用户使用显示屏处于折叠状态下的电子设备的过程中,在使用该第一屏和第二屏进行界面显示时,电子设备存在界面响应异常的情况,用户的使用体验较差。
例如,用户在使用电子设备的背屏亮码功能,背屏亮码结束后,也就是第二屏黑屏之后如果用户在电子设备的第一屏上执行返回操作,电子设备会出现界面无响应的现象。也就是说,在电子设备的第二屏灭屏之后,如果用户不想查看在手机的第一屏显示第一应用的界面(如,电子书应用的电子书阅读界面);用户在电子设备上触发返回操作(如,点击返回按钮、手势左划返回操作、手势右划返回操作),此时电子设备的存在第一屏的界面无响应的情况。
有鉴于此,本申请实施例提供一种界面显示方法,该方法包括:在第一时间点,电子设备在第一屏显示第一应用的界面。在第二时间点,响应于预设的目标操作(如,背屏敲击操作),在第二屏显示第二应用的二维码;第二时间点晚于第一时间点。在第一时间点和第二时间点之间,第二屏处于黑屏状态,第一屏的容器节点在第二屏的容器节点之上;第一屏的容器节点与第二屏的容器节点挂载于根节点。在第三时间点,响应于结束第二屏显示的事件,第二屏黑屏;第三时间点晚于第二时间点。在第二时间点和第三时间点之间,第二屏的容器节点在第一屏的容器节点之上,第一屏显示有第一应用的界面。在第三时间点之后,第一屏显示有第一应用的界面,第一屏的容器节点在第二屏的容器节点之上。
在该方法中,电子设备可以在第二屏黑屏时调整第一屏的容器节点在第二屏的容器节点之上,这样就能够使得焦点窗口及时切换到容器节点靠上的第一屏,从而使得第一屏显示的界面能够响应用户的操作,因而能够缓解界面响应异常的情况,可以提升用户的使用体验。
可以理解的,上述焦点窗口是指,电子设备处于前端显示,接收针对窗口的输入事件(例如,返回操作)的窗口。通常情况下,电子设备上只有一个焦点窗口;这些焦点窗口可以是,活动(activity)窗口,对话框(dialog)窗口等等。
示例性的,参见图2,本申请实施例提供的界面显示方法,可以应用于用户使用处于折叠状态的外折折叠屏的电子设备100的过程中(如,使用电子设备100观看电子书、观看视频、聊天等等)。其中,电子设备100可以是,手机、平板电脑、可穿戴设备、智慧屏、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等具有外折折叠屏的电子设备;也可以是,车载电脑、车载计算机等等具有外折折叠屏的车载设备;还可以还是一些具有外折折叠屏的物联网设备。本申请实施例对电子设备的产品形态不做任何限制。
接下来将对电子设备100的硬件结构以及软件架构进行简要介绍。
示例性的,参见图3,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial 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可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronousreceiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processorinterface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serialbus,USB)接口等。
显示屏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的正整数。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
示例性的,电子设备100可以通过压力传感器180A检测到用户触发的左滑(划)返回操作/右滑(划)返回操作。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
示例性的,电子设备100可以通过加速度传感器180E检测到用户触发的背屏敲击操作。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
示例性的,电子设备100可以通过触摸传感器180K检测到用户触发的左滑(划)返回操作/右滑(划)返回操作。
又示例性的,电子设备100可以通过触摸传感器180K检测到用户在显示屏194的触摸操作,并通过显示屏194提供与触摸操作相关的视觉输出。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
示例性的,电子设备100可以通过按键190检测到用户触发的按压按键操作。
电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的AndroidTM***为例,示例性说明电子设备100的软件结构。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。示例性的,参见图4,将AndroidTM***分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(AndroidTMruntime)和***库,硬件抽象层(hardwareabstract layer,HAL),以及内核层。
可以理解的是,图4示出的软件结构,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的架构层,或者组合某些架构层,或者拆分某些架构层等等。对于AndroidTM***也可以有其他的层级划分方式,例如,划分为:应用程序层、应用程序框架层、本地层(native)、内核层。以及,对于不同的操作***也可以有不同的层级划分方式等等;具体的,可以根据实际的使用情况对操作***进行不同层级的划分。
应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
其中,应用程序层还可以包括背屏服务(tap tap service),背屏服务可以用于在电子设备的背屏拉起目标功能码的显示。其具体实现可以参见下文相关介绍,此处暂不详述。示例性的,该目标功能码可以是二维码、条形码等等;如,二维码可以是付款码、乘车码或者任意的身份识别码等等,本申请实施例对此不做限制。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以分为***服务和媒体服务两部分。
***服务(system server)是一个进程,提供了很多子***服务,每个子***服务都以线程的形态运行,等待应用程序发出的请求,然后对请求进行处理,再将结果返回给应用程序。上述子***服务例如包括窗口管理服务(window manager service,WMS)、通知管理服务(notification manager service,NMS)、活动管理服务(activity managerservice,AMS)和输入管理服务(input manager service,IMS)。
WMS可以用于窗口管理、窗口动画管理、surface管理以及作为输入***的中转站。NMS使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。AMS可以用于***组件(例如,活动、服务、内容提供者和广播接收器)的启动、切换、调度以及应用进程的管理和调度工作。IMS可以用于管理***的输入,例如,触摸屏输入、按键输入和传感器输入等。IMS从输入设备节点(如,下述传感器模块,按键模块等等)取出事件,通过和WMS的交互,将事件分配给WMS中的窗口。媒体服务(media server)负责播放音频和视频的播放,以及拍照录像的进程。
其中,IMS可以包括:输入事件中心(eventhub)组件,输入事件读取(inputreader)服务组件、输入事件分发(inputdispatcher)服务组件等。输入事件中心可以用于接收硬件抽象层发送的输入事件。输入事件获取服务可以用于从输入事件中心,获取输入事件,并将输入事件发送给输入事件分发服务。输入事件分发服务可以用于接收输入事件获取服务发送的输入事件,并将输入事件与焦点窗口对应。这样WMS就可以从IMS获取到与焦点窗口对应的输入事件。输入事件就可以通过WMS和IMS之间的交互,分配给焦点窗口处理。
示例性的,WMS可以用于管理焦点窗口,并在输入事件投掷(inputflinger)服务组件中设置焦点窗口。其中,inputflinger可以包括输入事件分发(inputdispatcher)服务组件。
安卓运行时(AndroidTMruntime)包括核心库和虚拟机。AndroidTMruntime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。二维图形引擎是二维绘图的绘图引擎。
硬件抽象层是抽象出来的介于内核层和上层之间的一层结构。是内核层的驱动的一个封装,以用于对上层提供统一接口。使得上层应用不必知道下层硬件具体怎么实现工作,从而屏蔽了底层的实现细节。
硬件抽象层可以提供标准接口,向更高级别的应用程序框架层显示设备硬件功能。硬件抽象层包含多个库模块,其中每个模块都为特定类型的硬件组件实现的一个接口。该库模块可以包括音频(audio)模块,蓝牙(bluetooth)模块,相机(camera)模块和传感器(sensors)模块、按键模块等。该传感器模块例如可以包括加速度传感器(accelerometer)模块、磁力传感器(magnetic field)模块、方向传感器(orientation)模块、陀螺仪(gyroscope)模块、环境光照传感器(light)模块、压力传感器(pressure)模块、温度传感器(temperature)模块和距离传感器(proximity)模块等等。当应用程序框架层要求访问设备硬件时,***将为该硬件组件加载对应的库模块。厂商可以在硬件抽象层定义的接口。
示例性的,上述加速度传感器模块可以用于感知作用于电子设备的操作(例如背屏双击操作等)。上述按键模块可以用于感知作用于电子设备上按键的操作(例如,按压按键)。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动。其中,内核层还可以包括传感器驱动,按键驱动等等。
示例性的,电子设备的硬件如,按键190、或者触摸传感器180K等等检测到用户的返回操作。电子设备的硬件抽象层(如,硬件抽象层中的按键模块、传感器模块等)会基于该返回操作生成针对窗口的输入事件,并将该针对窗口的输入事件发送给IMS。接下来,IMS中的输入事件分发(inputdispatcher)服务组件获取inputflinger中保存的焦点窗口,并将对窗口的输入事件发送给焦点窗口。或者,在IMS接收到针对窗口的输入事件后,IMS中的输入事件分发(inputdispatcher)服务组件获取inputflinger中保存的焦点窗口,并将该针对窗口的输入事件与焦点窗口对应。这样,WMS就可以从IMS中获取到对窗口的输入事件,并将对窗口的输入事件分配给焦点窗口。
下面,将以图2示出的使用场景中,电子设备100是折叠状态的外折叠屏手机为例,结合附图对本申请实施例提供的界面显示方法进行详细介绍。为了便于表述,在下文中,折叠状态的外折叠屏手机可以被简称为手机,外折叠屏手机的第一屏被称为主屏、外折叠屏手机的第二屏被称为背屏。
需要指出的是,本申请实施例提供的界面显示方法也可以应用于其他电子设备,如内折叠屏手机,展开状态的外折叠屏手机等等;具体的,可以根据实际的使用需要进行设置,本申请实施例对此不做任何限制。
示例性的,参见图5,本申请实施例提供的界面显示方法,可以包括:步骤S501-S507。
可选地,在一些实施例中,在步骤S501之前,本申请实施例提供的界面显示方法,还可以包括步骤S500。
S500.手机开启背屏服务(tap tap service)功能。
用户在使用手机时,如果想要便捷地出示二维码;用户可以开启手机的背屏服务,并在背屏服务中进行相关设置。在手机开启了背屏服务功能后,用户就可以通过一些操作,控制手机显示二维码。其中,背屏服务功能可以理解为,手机响应于预设的目标操作(如,背屏敲击操作),在手机的背屏显示预设应用的二维码或条形码等目标功能码。上述二维码可以是付款码、乘车码或者任意的身份识别码等等。本申请下述实施例中将以目标功能码是二维码为例进行介绍,本申请实施例对此不做限制。
在一些实施例中,用户可以通过手机的设置界面,去开启手机的背屏服务功能。
示例性的,参见图6。手机显示桌面600;用户可以点击桌面600中的设置图标601。手机响应于用户点击设置图标601,手机显示设置菜单界面610。接下来,用户点击设置菜单界面610中的折叠屏设置选项611。手机响应于用户点击折叠屏设置选项611,手机显示折叠屏设置菜单620。在折叠屏设置菜单620可以包括“背屏服务”对应的开关621。然后,用户点击开关621。手机响应于用户点击开关621,手机在折叠屏设置菜单630中显示背屏显示应用子菜单633。在背屏显示应用子菜单633中,显示有支持背屏显示的相关应用(如,AA应用、BB应用、CC应用等等);以及,每个应用对应的“开启/关闭”开关631,“默认应用”开关632。其中,“开启/关闭”开关631,可以用于开启/关闭显示该应用对应的二维码的功能。“默认应用”开关632,用于开启/关闭默认显示该应用对应的二维码的功能。开启了“开启/关闭”开关631的应用,手机就可以通过背屏服务功能显示其对应的二维码。开启了“默认应用”开关632的应用会默认显示(优先显示)其对应的二维码。
其中,上述支持背屏显示的相关应用,可以理解为,该应用具有显示二维码的功能,或者也可以理解为,该应用具有二维码显示界面。
如图6所示,在折叠屏设置菜单630中,AA应用和BB应用的“开启/关闭”开关631是开启状态,AA应用的“默认应用”开关632是开启状态。也就是说,手机的背屏服务功能能够显示AA应用或者BB应用对应的二维码;且AA应用对应的二维码会被手机默认显示(如,响应于背屏敲击操作,直接显示AA应用对应的二维码)。
在另外一些实施例中,用户也可以通过手机的语音识别功能,去开启手机的背屏服务功能。
示例性的,用户可以通过手机的唤醒词,去唤醒手机的语音识别功能。之后,再通过语音指令(如,“开启背屏服务功能”),去开启手机的背屏服务功能。
可以理解的,在另外一些实施例中,手机上的背屏服务功能是在手机出厂时就设置好的,会处于常开状态。也就是说,用户无需主动在手机上开启背屏服务功能,就可以在手机上使用背屏服务功能。
S501.在用户的目标操作之后,传感器模块向背屏服务发送背屏敲击事件。
其中,上述目标操作可以理解为,用户从手机的主屏的后方(背面)向主屏的前方(前面)的敲击操作。例如,用户在手机的背屏的连续两次敲击操作,或者可以是用户在手机的背屏的一次敲击操作,或者可以是用户在手机的背屏的一次敲击后滑动的操作等等,示例性地,前述连续两次敲击操作可以是在预设时长内的两次敲击操作。该预设时长可以是0.5秒、1秒或2秒等等,本申请实施例对此不做限制。
可以理解的是,上述目标操作可以是预先设置的,具体的可以是任意预设置的操作;如,可以是作用于手机背屏的敲击、滑动或拖曳及其任意结合的操作等等。具体的可以根据实际的使用需要进行设计,本申请实施例对此不做限制。为了便于表述,在本申请的下述实施例中,将以目标操作是用户在手机的背屏的连续两次敲击操作(下文可简称为,背屏敲击操作)为例对本申请实施例提供的技术方案进行介绍。
在一些实施例中,手机可以通过加速度传感器来检测该背屏敲击操作。例如,手机可以通过***调用加速度传感器的驱动使得加速度传感器接收到背屏敲击操作。之后,手机通过***调用硬件抽象层的传感器模块,通过背屏敲击(tap tap)算法识别该背屏敲击操作得到背屏敲击事件。然后,传感器模块向背屏服务发送该背屏敲击事件。
S502.背屏服务响应于接收到背屏敲击事件,调用目标应用的SDK发送拉起目标二维码的消息。
其中,目标应用可以是用户在折叠屏设置菜单中的背屏显示应用子菜单中设置的默认应用;如,上述AA应用。目标二维码可以是目标应用的二维码,如上述AA应用的二维码。
可以理解的,软件开发工具包(software development kit,SDK)可以是为软件包、软件框架、硬件平台或操作***等创建应用软件的开发工具的集合。SDK可以的应用程序所使用的SDK。SDK通过编译器、调试器或软件框架等来促进应用程序的创建。或者,SDK可以为某个程序设计语言提供应用程序接口的一些文件,或者也可能包括能与某种嵌入式***通讯的复杂的硬件。在本申请实施例中,可以通过调用上述目标应用的SDK来拉起上述目标二维码。
示例性的,背屏服务可以通过目标应用的SDK,然后通过该SDK的接口向目标应用发送拉起目标二维码的消息。
S503.目标应用向AMS发送拉起目标二维码的消息。
可以理解的,上述目标二维码可以是目标应用的二维码,如上述AA应用的付二维码。目标应用可以通过启动应用活动(activity)来在手机的背屏显示该目标二维码的用户界面。
示例性的,上述拉起目标二维码的消息可以是通过意图(intent)参数携带的。该intent参数指定了要启动的activity(下文可以称为目标activity),即该intent参数包括了对该目标activity的数据描述。AMS可以通过解析这个intent参数创建对应的应用活动记录(activityrecord),这样可以使得目标应用可以启动目标activity。
又示例性的,上述目标二维码要求在手机的背屏显示。上述拉起目标二维码的消息中还携带了背屏服务的标识信息(例如应用名称或预设的唯一编号等)。因此,上述AMS接收到上述消息后,可以基于该消息中发送者的标识信息判断是否是是与背屏服务相关的信息。若是,则调整上述目标activity关联的显示区域,将该目标activity的显示区域设置为背屏。从而使得后续基于该目标activity创建窗口来显示上述目标二维码时,该窗口的显示区域为背屏。
S504.AMS基于该消息向目标应用发送启动目标activity的通知。
在AMS基于拉起目标二维码的消息创建了应用活动记录后,可以先判断该应用活动记录指示的应用进程(如上述目标应用的进程)是否存在。若不存在,可以先启动该目标应用进程,然后向该目标应用发送启动目标activity的通知。若该目标应用进程存在,则直接向该目标应用发送启动目标activity的通知。
S505.目标应用基于该通知启动目标activity。
在目标应用接收到该通知后,目标应用创建应用活动线程(ActivityThread),从而启动了上述目标activity。
示例性地,上述应用活动线程可以通过调用onCreate()和onResume()等函数来实现上述目标Activity的启动。
S506.目标应用基于该目标activity指示WMS创建背屏显示窗口的视图树。
其中,目标activity可以基于上述背屏显示窗口的视图树绘制用户界面,以使得手机背屏显示上述目标二维码。为了便于下文表述,背屏显示窗口的视图树可以被简称为背屏窗口。关于背屏窗口的相关介绍可以参见下述图8对应的描述,此处暂不详述。
这样,在目标应用通过该目标activity指示WMS创建背屏窗口之后,目标应用就可以通过界面映射服务、显示管理服务等等,在背屏窗口中绘制用户图形界面,显示上述目标二维码。具体的,可以根据实际的使用需求进行设计,本申请实施例对此不做任何限制。
在一些实施例中,在步骤S506的中,目标服务还可以基于该目标activity,指示WMS创建悬浮胶囊窗口。该悬浮胶囊窗口用于在手机的主屏显示背屏显示控件,该背屏显示控件可以用于切换背屏服务功能在背屏显示的二维码。例如,该控件可以通过切换上述目标应用的方式(如将目标应用为AA切换为目标应用为BB)来切换背屏服务功能在背屏显示的二维码。
示例性的,目标服务还可以向背屏服务发送该目标activity,背屏服务基于该activity指示WMS创建悬浮胶囊窗口。
在一些实施例中,参见图7,上述步骤S506可以包括步骤S5061-S5063。
S5061.响应于接收到目标activity,WMS基于目标activity判断是否存在背屏窗口对应的容器节点。若存在该背屏窗口对应的容器节点,则执行步骤S5063;若不存在背屏窗口对应的容器节点,则执行步骤S5062-S5063。
其中,容器节点(display),也可以被称为显示容器节点,一个容器节点对应一个真实或虚拟的显示设备(显示区域);用于管理在该显示设备(显示区域)下的窗口(window)。
为了便于表述,在下文中背屏窗口对应的容器节点可以被称为目标容器节点。目标容器节点可以理解为,挂载了背屏窗口的容器节点。具体的,在上述目标activitiy中记载了背屏窗口与容器节点的对应关系。
可以理解,WMS可以通过层级管理的方式去管理窗口(window)。窗口(window)也可以被称为窗口节点,具有一个父节点,和若干子节点,用于管理手机显示屏上显示的界面中的元素(如,文字大小、颜色、图片透明度、图片对比度、动态特效等等)。WMS通过层级管理的方式去管理窗口(window),可以提高WMS对窗口的管理效率。在一些实施例中,窗口(window)还可以被称为任务显示区域(taskdisplayarea)。其中,任务(task)可以理解为,包括了多个activity的堆栈,处于该堆栈最顶端的activity与窗口对应,在手机的显示屏上被显示。也就是说,任务(task)与窗口(window)会具有对应关系。由于窗口挂载于容器节点,因此任务也可以挂载于容器节点。
在一些实施例中,WMS可以通过树形节点结构去管理窗口。其中,树形节点结构可以包括:根节点(root)、容器节点(display)、窗口(window)。
其中,根节点(root),也可以被称为根窗口显示容器(root window container),是树形节点结构的顶层部分。root主要用于管理其下方挂载的容器节点(display);例如,管理其下方挂载的容器节点的位置顺序(如,处于顶端(top)位置,或处于底端(bottom)位置),添加/删除容器节点等等。容器节点,挂载于根节点(root),用于接受根节点(root)的管理,以及管理其下方挂载的窗口(window);例如管理窗口的位置顺序,添加/删除窗口等等。需要指出的是,容器节点与手机上的显示区域具有对应关系,如一个容器节点对应了手机的一个显示区域。示例性的,参见图8,根节点下挂载了容器节点0(display0)和容器节点1(display1);二者分别对应了手机的主屏和背屏。例如,display0可以对应主屏,display1可以对应背屏。
可以理解的,对于开启背屏服务功能的手机来讲,由于手机需要在背屏进行显示,手机为了区分主屏和背屏,会在WMS中分别设置对应主屏和对应背屏的容器节点(display)。并通过在容器节点下面挂载不同的窗口,来管理在手机的主屏/背屏上的显示内容(如,主屏/背屏上显示的界面、界面中的元素等等)。
需要指出的,是图8仅为一种逻辑上的示意图,具体可根据实际的使用需求进行设计,本申请实施例对此不做任何限制。
在一种可能的实现中,容器节点可以以数组的形式在手机中存在。示例性的,参见图9,图9中以从顶端(top)到底端(bottom)的排序示出了display0和display1的位置顺序。从图中可见,display0位于顶端(top)位置,display0在display1之上。在另外一些实施例中,上述“display0在display1之上”也可以表述为,display0在display1之前,display0先于display1等等。可以理解的,如果将从顶端(top)到底端(bottom)的排序,修改为从底端到顶端的排序,则display0在display1之下;或者,display0在display1之后,display0后于display1等等。具体的,可以根据实际的使用需求对此进行设计,本对此不做任何限制。
再次参见图9,display0对应索引0,display1对应索引1。在一些实施例中可以通过display0和display1对应的索引的大小,来判断display0和display1之间的关系。示例性的,如果索引0大于索引1,则可以认为,在从顶端(top)到底端(bottom)的排序下,display0在display1之上。以及上述display0在display1之上,也可以表述为,display0的位置顺序在display0之上。
具体的,在步骤S5061中,假设背屏窗口对应的容器节点为display1。则WMS可以在根节点(root)下,检索是否存在display1,如存在则执行步骤S5063,如不存在则执行步骤S5062-S5063。
可以理解的是,在首次使用背屏服务功能的场景下,手机的目标容器节点可能不存在。首次使用背屏服务功能的场景,可以理解为,手机开机后第一次使用背屏服务功能,在手机背屏显示目标二维码。或者,在上一次使用背屏服务功能,手机背屏显示目标二维码结束后,手机移除了目标容器节点;那么,在本次使用背屏服务功能时,手机的目标容器节点也可能不存在。
S5062.WMS添加目标容器节点。
示例性的,假设背屏窗口对应display1,也就是说目标容器节点是display1,WMS可以新建display1,并将display1挂载于根节点(root)。
S5063.WMS创建背屏窗口,并将该背屏窗口挂载于目标容器节点。
示例性的,WMS可以创建背屏窗口,并将背屏窗口挂载到display1。
其中,上述背屏显示窗口可以包括图8中的窗口D,也可以包括图8中的窗口D和窗口E。具体的,可以根据实际的使用需要进行设计,本申请实施例对此不做任何限制。
示例性的,假设背屏显示窗口包括窗口D。该窗口D可以对应目标应用的用户界面,该用户界面包括该目标二维码。例如,若该目标二维码为AA付款码,那么,该窗口D对应AA的付款码界面。假设背屏显示窗口包括窗口D和窗口E,该窗口D对应目标应用的用户界面,该窗口E对应辅助界面,该辅助界面用于与目标应用的用户界面一同显示,以提高目标应用的用户界面的显示效果。其中,辅助界面可以是下述图14B中的404关于第二应用的二维码的说明4032,具体的,参见下述关于图14B的相关介绍。
在WMS创建了背屏窗口后,目标应用就可以通过界面映射服务、显示管理服务等等,在背屏窗口中绘制图形界面,显示上述目标二维码。以及,背屏服务也可以在背屏窗口中绘制一些图形界面(如上述辅助界面)配合上述目标二维码一起在手机显示,以提升目标二维码的显示效果。具体的,可以根据实际的使用需求进行设计,本申请实施例对此不做任何限制。
可以理解的,由于WMS会与IMS相互配合维护手机上的焦点窗口。具体的,WMS可以通过updateInputFocusRequest流程去更新窗口信息,并通过setFocusedWindow函数将焦点窗口信息更新到inputflinger中。之后,IMS在接收到输入事件之后,就可以将输入事件发送给焦点窗口。
其中,inputflinger是IMS中用来管理输入事件分发的流程,inputflinger包括输入事件分发(inputdispatcher)服务组件;手机上出现输入事件,会经由inputdispatcher分发给对应的焦点窗口处理。也就是说,WMS用于维护inputflinger中的焦点窗口。
接下来,对步骤S501-S506过程中,WMS对inputflinger中焦点窗口的维护过程进行介绍。
在一些实施例中,WMS可以通过窗口的位置顺序确定焦点窗口;在WMS确定了焦点窗口之后,WMS将焦点窗口更新给inputflinger。示例性的,WMS可以将处于最顶端的窗口作为焦点窗口。
示例性的,参见图10,图中以从左到右的顺序示出了,从顶端(top)到底端(bottom)的位置顺序。如图10中的A部分所示,在步骤S501之前,假设WMS中存在display0和display1。display0为主屏的容器节点,display1为背屏的容器节点。手机的主屏上正在显示界面,在display0下按照位置顺序从顶端(top)到底端(bottom)的顺序,挂载了窗口A、窗口B和窗口C;由于手机的背屏上未显示是灭屏状态,display1下未挂载窗口。WMS会将root下,处于最顶端的窗口作为焦点窗口(如,处于top位置的容器节点下挂载的处于top位置的窗口设置为焦点窗口。)例如,将窗口A设置为焦点窗口。
具体的,WMS获取到窗口A为处于top位置的容器节点(display0)下挂载的处于top位置的窗口。之后,WMS可以通过调用updateInputFocusRequest流程去更新窗口信息,将焦点窗口(如,窗口A)更新到inputflinger。在updateInputFocusRequest流程中,WMS可以执行mDisplayContent.isOnTop()判断条件,在该判断条件通过后,再执行setFocusedWindow()函数将焦点窗口信息更新到inputflinger;若该判断条件不通过,则该流程结束,也就是说不更新焦点窗口。其中,上述判断条件的入参为窗口的标识。
可以理解的,WMS在确定了焦点窗口之后,WMS还可以对焦点窗口进行校验如(通过,上述判断条件对焦点窗口进行校验),这样可以提升焦点窗口设置的准确程度。
示例性的,mDisplayContent.isOnTop()判断条件,判断的内容如下:
parent!=null&&parent.getTopChild()==this&&parent.isOnTop() 表达式1
在表达式1中,“!”表示逻辑非,“&&”表示逻辑与,“==”表示判断等式两端是否相同;“parent!=null”表示,判断父节点不为空,如果父节点不为空,则返回1,如父节点为空则返回0。“this”表示判断条件mDisplayContent.isOnTop()中输入的标识;“parent.getTopChild()”为获取器父节点下顶端位置的子节点的函数;“parent.isOnTop()”表示为判断父节点是否位于顶端,具体的,可以对其父节点执行:“parent!=null&&parent.getTopChild()==this”,来判断其父节点是否位于顶端。可以理解的,上述父节点、子节点,可以理解为挂载与被挂载的相对关系。如,窗口A的父节点是display0,窗口A是display0的子节点。
例如,WMS执行mDisplayContent.isOnTop(窗口a),来判断窗口A是否符合判断条件;其中,“窗口a”为窗口A的标识。
在WMS执行mDisplayContent.isOnTop(窗口a)的过程中,WMS基于表达式中运算符的优先级,WMS先执行“parent.getTopChild()==this”。由于窗口A的父节点下顶端位置的子节点为窗口A,则“parent.getTopChild(窗口a)”输出窗口A,“this”为“窗口a”。“parent.getTopChild(窗口a)==this”的值为1。接下来,由于窗口A具有父节点如display0,则“parent!=null”的值为1。然后,WMS执行“parent.isOnTop(窗口a)”,判断窗口A的父节点display0是否位于顶端。
在WMS执行“parent.isOnTop(窗口a)”的过程中,WMS执行“parent.getTopChild(Display0)==this”;其中,“Display_0”为display0的标识;此时“this”为“Display_0”,由于display0的父节点下顶端位置的子节点为display0,则“parent.getTopChild(Display_0)”输出为display0,也就是说“parent.getTopChild(Display_0)==this”值为1。然后,WMS执行“parent!=null”,由于display0的父节点不为空,则“parent!=null”的值为1。由此,WMS执行“parent.isOnTop(窗口a)”的执行结果为1,也就是说,WMS执行mDisplayContent.isOnTop(窗口a)的执行结果为1&&1&&1,其执行结果为1,判断条件通过。
在WMS执行mDisplayContent.isOnTop(窗口a),判断窗口A符合判断条件之后,WMS执行setFocusedWindow(窗口a)函数,将焦点窗口为窗口A更新到inputflinger。
再次参见图10,如图10中的B部分所示,在步骤S505之后,由于WMS创建了背屏窗口(图10中表示为窗口D和窗口E),手机在背屏上显示二维码;WMS调整了容器节点和窗口的位置顺序。WMS可以调整焦点窗口,如通过调用updateInputFocusRequest流程去更新窗口信息,将焦点窗口(如,窗口D)更新到inputflinger。
示例性的,WMS在执行判断条件mDisplayContent.isOnTop(窗口d)通过后,通过setFocusedWindow(窗口d),将焦点窗口为窗口D更新到inputflinger。其中,“窗口d”为窗口D的标识。具体的,WMS执行判断条件mDisplayContent.isOnTop(窗口d)的过程可参见上述,WMS执行判断条件mDisplayContent.isOnTop(窗口a)相关描述,在此不再赘述。
接下来,在手机在执行步骤S506之后,手机执行步骤S507。
S507.响应于结束背屏显示的事件,背屏服务调用WMS移除背屏窗口。
结束背屏显示的事件,也可以被称为背屏结束事件,用于指示手机结束背屏服务功能,手机背屏停止显示目标二维码的事件。背屏结束事件,可以是由目标应用发送给背屏服务的,也可以是由背屏服务生成,还可以是由手机中的其他模块如计时器模块发送给背屏服务的;具体的可以根据实际的使用需要对此进行设计,本申请实施例对此不做任何限制。
在一些实施例中,在目标二维码扫描完成后,目标应用向背屏服务发送背屏结束事件。
示例性的,在目标二维码扫描完成后,目标应用可以向背屏服务发送背屏结束事件,以通知背屏服务,在手机背屏上显示的目标二维码扫码完成。
在又一些实施例中,在目标二维码展示超时后,计时器模块生成并向背屏服务发送背屏结束事件。
示例性的,在WMS创建背屏窗口成功后,WMS可以启动计时器,该计时器的计时周期可以为预设的计时周期(如,5秒、10秒等等),在计时器到达计时周期后,计时器可以向WMS发送背屏结束事件。
在一些方案中,响应于结束背屏显示的事件,背屏服务可以通过WMS直接移除背屏窗口。这样,由于背屏窗口被移除,手机就会停止在背屏显示目标二维码,背屏就会灭屏。
示例性的,参见图11,响应于背屏结束显示的事件,背屏服务向WMS发送移除背屏窗口的通知,WMS接收该通知,通过removeImmediately()函数移除背屏窗口对应的每个任务。
在WMS移除背屏窗口之后,由于WMS中的窗口发生了变动,WMS会再次确定并更新焦点窗口。WMS会将root下处于最顶端的窗口作为焦点窗口。从图11中可见,由于处于top位置的容器节点下为挂载窗口,则WMS可以将处于top位置的容器节点后面的容器节点下挂载的,且处于top位置的窗口设置为焦点窗口。例如,将窗口A设置为焦点窗口。
示例性的,WMS可以通过updateInputFocusRequest流程去更新窗口信息,将焦点窗口为窗口A更新到inputflinger中。在updateInputFocusRequest流程中,WMS可以执行mDisplayContent.isOnTop(窗口a)判断条件。若该判断条件通过,WMS执行setFocusedWindow(窗口a)函数将焦点窗口信息更新到inputflinger;若该判断条件不通过updateInputFocusRequest流程结束,WMS不更新焦点窗口。其中,mDisplayContent.isOnTop()判断条件可以参见上述表达式1。
例如,在WMS在执行mDisplayContent.isOnTop(窗口a)判断条件中的“parent.isOnTop()”时,由于窗口A的父节点也就是display0,并不是根节点下处于顶端(top)位置的容器节点,根节点下处于顶端(top)位置的容器节点是display1。这就会导致“parent.getTopChild(Display_0)==this”的值为0,从而导致判断条件的执行结果为1&&1&&0;判断条件不通过。WMS未将焦点窗口是窗口A更新到inputflinger。
也就是说,在inputflinger中的焦点窗口依旧是在步骤S507之前由WMS更新的窗口D。在此情况下,如果位于手机硬件抽象层的功能模块(如按键模块、传感器模块等),响应于用户的返回操作,生成了针对窗口的输入事件。接下来,位于手机硬件抽象层的功能模块(如按键模块、传感器模块等)向IMS发送该针对窗口的输入事件。由于ISM的inputflinger中的焦点窗口为窗口D,然而WMS中的窗口D已经被移除,这就会导致焦点窗口设置不合理(WMS未能将焦点窗口为窗口A更新到IMS的inputflinger之中)。那么,该针对窗口的输入事件未能发送给焦点窗口。这就会导致该针对窗口的输入事件在手机上无响应,这会影响用户的使用体验。
其中,上述针对窗口的输入事件可以包括:返回操作(如,点击返回按钮操作、手势左划返回操作、手势右划返回操作等等),按键操作(如,按压音量增加按钮操作,按压音量减小按钮操作等等)。
示例性的,参见图12A,假设在WMS移除背屏窗口,手机背屏灭屏之后,用户在手机上触发了返回操作(如,点击返回按钮操作、手势左划返回操作、手势右划返回操作),用户通过返回操作控制手机切换当前正在显示的页面(如,电子书显示页面)去显示其他页面(如手机的桌面);手机的IMS会接收到按键模块发送的返回操作。并将该返回操作传递给IMS的inputflinger中的焦点窗口。由上述图11对应的描述可知,WMS未将焦点窗口是窗口A更新到inputflinger,IMS的inputflinger中的焦点窗口仍然为窗口D。IMS会将返回操作分发给WMS中窗口D。然而,由于WMS中不存在窗口D,窗口D被WMS移除。则该返回操作未能传递给焦点窗口。那么,手机也就无法响应该返回操作,手机无响应。
可以理解的,如果用户在手机上触发关于音量的按键操作,手机也会执行与上述图12A所对应的流程相似的流程,手机也会无响应。这会降低用户的使用体验。
由此,在本申请实施例提供的另一些技术方案中,在WMS移除背屏窗口,手机背屏灭屏之后。WMS可以调整容器节点的位置顺序,这样在WMS移除背屏窗口之后,WMS就能够将焦点窗口成功地更新到IMS的inputflinger中。那么,焦点窗口就可以接收到针对窗口的输入事件,该针对窗口的输入事件在手机上就会产生响应,可以提升用户的使用体验。
示例性的,参见图12B,在WMS移除背屏窗口,手机背屏灭屏之后,WMS调整了容器节点的位置顺序(如,将背屏窗口对应的容器节点调整至底部)。用户在手机上触发了返回操作,用户通过返回操作控制手机切换当前正在显示的页面(如,电子书显示页面)去显示其他页面(如手机的桌面);手机的IMS会接收到按键模块发送的返回操作。并将该返回操作传递给IMS的inputflinger中的焦点窗口。由于WMS调整了容器节点的位置顺序,以使得WMS可以将焦点窗口是窗口A更新到inputflinger,IMS的inputflinger中的焦点窗口为窗口A。IMS会将返回操分发给窗口A。这样,窗口A就会接收到返回操作,那么手机就可以响应于返回操作,显示手机的桌面。
或者,在WMS移除背屏窗口,手机背屏灭屏之后,WMS调整了容器节点的位置顺序(如,将背屏窗口对应的容器节点调整至底部)。用户在手机上触发了按压音量按键的操作,用户通过按压音量按键的操作控制手机切换电子书显示的页面(如,将当前页切换为下一页);手机的IMS会接收到按键模块发送的按压音量按键的操作。并将该操作传递给IMS的inputflinger中的焦点窗口。由于WMS调整了容器节点的位置顺序,以使得WMS可以将焦点窗口是窗口A更新到inputflinger,IMS的inputflinger中的焦点窗口为窗口A。IMS会将返回操分发给窗口A。这样,窗口A就会接收到按压音量按键的操作,那么手机就可以响应于该操作,将主屏上显示的电子书页面翻页。
在一些实施例中,参见图13,上述步骤S507可以包括步骤S5070-S5073,以及步骤S5074A。
S5070.响应于结束背屏显示的事件,背屏服务向WMS发送移除背屏窗口的消息。
S5071.WMS接收到该消息,WMS获取目标容器节点的标识。
示例性的,WMS可以通过getDisplayContentOrCreate函数获取目标容器节点的标识。
例如,WMS可以通过getDisplayContentOrCreate(窗口d)获取目标容器节点的标识(如,Display_1)。
S5072.WMS创建背屏窗口清单,通过目标容器节点的标识获取目标容器节点下每个任务的标识,并将每个任务的标识加入到上述背屏窗口清单中。
例如,WMS通过displayContent.forAllRootTasks函数,将挂载于目标容器节点的每个任务的标识,并将上述每个任务的标识加入上述背屏窗口清单中。
S5073.WMS遍历背屏窗口清单中的任务的标识,并将遍历得到的标识移除。
示例性的,WMS可以通过removeImmediately函数,将遍历到的标识移除。
例如,WMS可以从背屏窗口清单中搜索窗口节点的标识,并对搜索得到的标识使用removeImmediately函数,并从清单中将使用了removeImmediately函数的标识移除,直至背屏窗口清单为空,也就是背屏窗口清单不包括窗口节点标识。
可以理解的,对于窗口节点下挂载的任务(task);如果任务(task)被移除,则窗口节点也就被移除。因此在一些实施例中可以通过任务(task)来移除背屏窗口。
S5074A.WMS将目标容器节点的位置顺序移动到底部(bottom)。
示例性的,WMS可以通过positionChildAt()函数,将目标容器节点在WMS中的位置顺序移动到底部(bottom)。
例如,WMS可以通过positionChildAt(POSITION_BOTTOM,Display_1,false)接口,将目标容器节点在WMS中的位置顺序移动到底部(bottom)。
这样,由于WMS将目标容器节点,在WMS中的位置顺序移动到了底部(bottom),WMS更新焦点窗口的流程就不会受到目标容器节点的影响,WMS就可以成功的设置焦点窗口。
示例性的,在步骤S5074A之后,WMS可以通过updateInputFocusRequest流程去更新窗口信息,将焦点窗口为窗口A更新到inputflinger中。在updateInputFocusRequest流程中,WMS可以执行mDisplayContent.isOnTop(窗口a)判断条件。若该判断条件通过,WMS执行setFocusedWindow(窗口a)函数将焦点窗口信息更新到inputflinger;若该判断条件不通过updateInputFocusRequest流程结束,WMS不更新焦点窗口。其中,mDisplayContent.isOnTop()判断条件可以参见上述表达式1。
例如,在WMS在执行mDisplayContent.isOnTop(窗口a)判断条件中的“parent.isOnTop()”时,由于在步骤S5074A中WMS将dispaly1的位置移动到了底部;那么,display0就是根节点下处于顶端(top)位置的容器节点。这样,“parent.getTopChild(Display_0)==this”的值为1,从而导致判断条件的执行结果为1&&1&&1;判断条件通过。WMS将焦点窗口是窗口A更新到inputflinger。
这样,在WMS移除背屏窗口,手机背屏灭屏之后,针对窗口的输入事件就可以通过IMS传递给焦点窗口。这样,手机就可以响应于用户的返回操作,切换手机正在显示的页面(如,将电子书显示页面切换为手机的桌面)。
在一些实施例中,上述步骤S5071A-S5074A的执行过程也可以被封装成函数,如封装为removeAllTaskForDisplay()函数,该函数可以指示WMS来移除背屏窗口。该removeAllTaskForDisplay()函数的入参为背屏的标识符(displayID)如,上述Display_0。这样,背屏服务就可以通过调用removeAllTaskForDisplay()函数指示WMS移除背屏窗口。
在一些实施例中,上述步骤S507可以包括步骤S5070-S5073,以及步骤S5074B。
S5074B.WMS将非目标容器节点的位置顺序移动到目标容器节点的位置顺序之上。
示例性的,WMS获取到根节点(root)下挂载的所有容器节点,之后得到所有容器节点中,除目标容器节点之外的容器节点,也就是非目标容器节点。之后,WMS将对每个非目标容器节点上移,直至每个非目标容器节点的位置顺序均在目标容器节点的位置顺序之上。
这样,由于目标容器节点的位置顺序被下移,WMS在执行updateInputFocusRequest流程中,就可以通过mDisplayContent.isOnTop()判断条件(也就是,mDisplayContent.isOnTop()执行的结果为1),将焦点窗口更新到inputflinger中。
在一些实施例中,也可以先执行步骤S5074A或5074B之后,再执行步骤S5071-S5073。
在一些实施例中,在执行步骤S5070之后,WMS不执行步骤S5071-S5073;WMS可以基于移除背屏窗口的消息,移除目标容器节点。
这样,由于目标容器节点被移除,WMS在执行updateInputFocusRequest流程中,就可以通过mDisplayContent.isOnTop()判断条件(也就是,mDisplayContent.isOnTop()执行的结果为1),将焦点窗口更新到inputflinger中。
示例性的,WMS可以通过getDisplayContentOrCreate函数获取目标容器节点的标识。之后,WMS通过removeImmediately()函数移除目标容器节点。可以理解的,对于容器节点下挂载的窗口,如果容器节点被移除,则容器节点下挂载的窗口也会被一起移除。这样,由于目标容器节点被移除,WMS在向inputflinger中更新焦点窗口时,就不会因为目标容器节点的干扰导致未通过判断条件。WMS可以将焦点窗口更新到inputflinger中。那么,针对窗口的输入事件就可以传递给焦点窗口。
在一些实施例中,在步骤S5070之后,WMS也可以不执行updateInputFocusRequest流程,直接通过setFocusedWindow(窗口a)函数将焦点窗口为窗口a更新到inputflinger中。
接下来,将以图2所示的场景,用户使用手机观看电子书为例,对在实现本申请实施例提供的界面显示方法的过程中,手机显示的用户界面进行介绍。
在第1时间点,手机的主屏显示第一应用的第一界面401,手机的背屏灭屏。
其中,第一应用可以是用户正在手机上使用的应用,第二应用可以是上述目标应用。例如,假设用户正在使用手机观看电子书,第一应用可以是电子书应用,第二应用可以是,用户在图6中的背屏显示应用子菜单633中设置的默认应用(如,AA应用)。
示例性的,主屏和背屏的用户界面可以分别参见图14A中的(a)和(b)。在图14A的(a)中,手机的主屏显示第一应用的第一界面401(如,电子书应用的电子书观看界面)。在图14A的(b)中,手机的背屏处于灭屏,即不显示任何应用的用户界面。
可以理解的,在一些实施例中,在第1时间点,手机的背屏也可以不灭屏,显示纯黑色的用户界面。
之后,在第2时间点,手机响应于用户的目标操作,在手机的背屏显示第二应用的二维码。其中,第2时间点晚于上述第1时间点,目标操作可以是背屏敲击操作。关于目标操作的介绍可以参见上述描述,在此不再赘述。具体的,此过程的具体步骤可以参见上述步骤S501-S506的相关描述,在此不再赘述。
示例性的,参见图14B中的(a)和(b)。在图14B的(a)中,手机的主屏显示第一应用的第一界面401(如,电子书应用的电子书观看界面)。在图14B的(b)中,背屏显示第二应用的二维码4032(如,AA应用的二维码)。在一些实施例中,在第2时间点,手机的主屏还也可以显示背屏显示的通知4011。该通知4011中可以包括提示手机背屏正在显示二维码的文字(如,背屏显示中)。
需要指出的是,本申请实施例提供的界面显示方法中,上述第一应用可以和第二应用相同,如均为AA应用,本申请实施例对此不做任何限制。
可以理解的,在一些实施例,在第2时间点,手机的背屏还可以显示一些与第二应用(如,AA应用)相关的信息,以提示用户。示例性,再次参见图14B,在图14B的(b)中,显示第二应用的二维码的区域403为白色。该区域403中可以包括付款条形码4031和付款二维码4032。又示例性的,手机的背屏还可以显示关于第二应用的二维码4032的说明404。该说明404可以包括该第二应用的图标4041和显示的二维码的名称4042。该二维码的名称4042例如可以是“AA应用的二维码”等,本申请实施例对该二维码的名称的文字描述不做限制。例如,假设该AA应用的二维码为乘车码,那么,该二维码的名称4042可以是“AA应用乘车码”。再例如,假设该AA应用的二维码为付款码,那么,该二维码的名称4042可以是“AA应用付款码”。
然后,在第3时间点,响应于结束背屏显示的事件,手机的背屏灭屏。其中,第3时间点晚于上述第2时间点。
具体的,此过程的具体步骤可以参见上述图13对应的相关描述;以及,在第3时间点手机显示的用户图形界面可以参照上述图14A及其相关描述,在此不再赘述。
其中,上述第1时间点在一些实施例中可以被称为第一时间点,也可以被称为第四时间点;上述第2时间点在一些实施例中可以被称为第二时间点,也可以被称为第五时间点;上述第3时间点在一些实施例中可以被称为第三时间点,也可以被称为第六时间点。需要指出的是,在第1时间点和第2时间点之间,手机的背屏是灭屏的。以及,参见上述图10中的A部分相关描述,在第1时间点和第2时间点之间,主屏的容器节点(如,display0)在背屏的容器节点(如,display1)之上。在2时间点和第3时间点之间,参见上述图10中的B部分相关描述,背屏的容器节点(如,display1)在主屏的容器节点(如,display0)之上。在第3时间点之后,由于手机执行了步骤S5070-S5073和步骤S5074A或执行了步骤S5070-S5073和步骤S5074B,调整了容器节点的位置顺序;如,将目标容器节点(如背屏的容器节点)的位置顺序移动到了底部,或者将非目标容器节点(如,主屏的容器节点)的位置顺序移动到了目标容器节点的位置顺序之上。这会导致主屏的容器节点(如,display0)在背屏的容器节点(如,displ ay1)之上,从而,WMS就可以执行updateInputFocusRequest流程将焦点窗口设置到IMS中。这样,针对窗口的输入事件就可以给焦点窗口。
可以理解的,由于在第3时间点,手机执行了上述步骤S5070-S5073和步骤S5074A或执行了步骤S5070-S5073和步骤S5074B。那么,就会导致主屏的容器节点(如,display0)在背屏的容器节点(如,display1)之上,例如参见上述图9。也就是说,基于在第3时间点发生的背屏结束事件,手机就可以调整主屏容器节点和背屏容器节点的关系,使得二者的关系如图9所示。
在该方法中,电子设备可以在第二屏黑屏时调整第一屏的容器节点在第二屏的容器节点之上,这样就能够使得焦点窗口及时切换到容器节点靠上的第一屏,从而使得第一屏显示的界面能够响应用户的操作,因而能够缓解界面响应异常的情况,可以提升用户的使用体验。
示例性的,假设用户在第3时间点之后,在手机上触发了返回操作。由于主屏的容器节点(如,display0)在背屏的容器节点(如,display1)之上,手机就可以满足焦点窗口的更新判断条件(如,上述表达式1对应的判断条件),之后手机就可以将挂载于主屏的容器节点下的窗口节点,设置为焦点窗口。这样,用户触发的返回操作就可以传递至焦点窗口。手机的主屏就会响应于返回操作进行界面切换(如,从第一应用的界面切换为主界面;或者从第一应用的当前界面切换为第一应用的其他界面)。
又示例性的,假设上述第一应用是阅读类应用(如,电子书应用),第一应用的界面是阅读界面。也就是说,手机的主屏显示的是阅读类应用的阅读界面。由于大多数阅读界面具有音量键翻页功能。在第3时间点之后,用户在手机上触发了按压音量按键的操作。由于主屏的容器节点(如,display0)在背屏的容器节点(如,display1)之上,手机就可以满足焦点窗口的更新判断条件(如,上述表达式1对应的判断条件),之后手机就可以将挂载于主屏的容器节点下的窗口节点,设置为焦点窗口。这样,用户触发的按压音量按键的操作就可以传递至焦点窗口。手机主屏显示的阅读类应用的阅读界面就能够响应于按压音量按键的操作进行翻页操作(如,将当前页翻页至下一页,或将当前页翻页至上一页)。
在一些实施例中,在第3时间点,响应于结束背屏显示的事件,手机的背屏灭屏。手机中的WMS可以将背屏的容器节点移除。这样,由于目标容器节点被移除,WMS在向inputflinger中更新焦点窗口时,就不会因为目标容器节点的干扰导致未通过判断条件。WMS可以将焦点窗口更新到inputflinger中。那么,针对窗口的输入事件就可以传递给焦点窗口。
示例性的,在首次使用背屏服功能的场景下,如在第2时间点之前,手机不存在目标容器节点(也就是背屏的容器节点),手机可以在第2时间点,通过步骤S501-S505,以及步骤S5061、S5062和S5063,建立背屏的容器节点。那么,在这种场景下,在第2时间点之前,手机上存在主屏的容器节点,不存在背屏的容器节点。在第2时间点和第3时间的之间,背屏的容器节点在主屏的容器节点之上。在第3时间点,如果手机移除了背屏的容器节点,则手机上存在主屏的容器节点,不存在背屏的容器节点;如果手机未移除背屏的容器节点(如,手机执行上述步骤S5070-S5073以及,步骤S5074A或步骤S5074B),则主屏的容器节点在背屏的容器节点之上。
在另外一些实施例中,手机也可以通过在主屏显示背屏显示控件来辅助背屏服务功能。示例性的,参见图14C的(a1)和(b),在上述第2时间点,手机响应于用户的目标操作,在手机的背屏显示第二应用的二维码;以及在手机的主屏显示背屏显示控件402B。该背屏显示控件402B包括背屏正在显示第二应用的二维码的指示信息4022。和/或,该背屏显示控件402B包括第二应用的图标4021。又示例性的,参见图14C的(a2)和(b),在上述第2时间点,手机响应于用户的目标操作,在手机的背屏显示第二应用的二维码;以及在手机的主屏显示隐藏状态的背屏显示控件402A。响应于用户对隐藏状态的背屏显示控件402A的点击操作,手机在主屏显示非隐藏状态的背屏显示控件(如,如14C的(a1)中的背屏显示控件402B)。在上述第3时间点,响应于结束背屏显示的事件,手机的背屏灭屏;以及在手机的主屏不显示背屏显示控件402B。
其中,上述结束背屏显示的事件,可以是背屏服务生成的,也可以是目标应用(AA应用)向背屏服务发送的。
在手机通过在主屏显示背屏显示控件来辅助背屏服务功能的情况下,用户可以通过背屏显示控件,来关闭在手机背屏显示的第二应用的二维码。也就是说,上述结束背屏显示的事件可以是背屏服务生成的。
示例性的,参见图14D中的(a)。响应于用户对背屏显示控件402B的长按操作,在手机的主屏上的第一区域4012显示删除图标4013,并且背屏显示控件402B变为可移动状态。可以理解的,可移动状态下的背屏显示控件402B可以跟随用户在手机主屏上的触摸移动。其中,上述第一区域4012,可以是手机主屏上任意预设的区域,如主屏底部的中间区域,或者主屏顶部的中间区域等。以及,上述删除图标4013,可以也可以是预设的形状的图标,如垃圾桶形状的图标等等。具体的,上述第一区域4012和删除图标4013可以根据实际的使用需求进行设置,本申请实施例对此不做任何限制。之后,响应于用户将可移动状态下的背屏显示控件402B,移动至上述第一区域4012,背屏服务生成背屏结束显示的事件。在背屏服务生成了背屏结束显示的事件后,手机背屏显示的第二应用的二维码就会被关闭,如,由图14D中的(b1)变化为(b2);具体的,可以参见上述步骤S507。这样,用户就可以在手机的主屏上,主动触发关闭手机的背屏显示的第二应用的二维码。考虑到用户有时可能误触发目标操作,手机背屏显示了二维码;此时,用户可以通过在主屏上的简单操作就看可以关闭手机背屏显示的二维码,提升用户的使用体验。
在一些实施例中,在手机的背屏显示的二维码被扫描成功后,手机的目标应用向背屏服务发送结束背屏显示的事件。
在一些实施例中,上述图14B的(b)中示出的二维码被扫描成功后,手机可以在背屏显示“扫码完成”或“支付成功”等信息。以指示二维码已经被成功扫描,可选地,二维码背成功扫描也可以表示完成了相应的操作(例如付款操作等,本申请实施例对此不做限制)。例如,可以参见图14F和图14E所示。该二维码被扫描成功或扫码完成指的是该二维码被其它设备成功扫描。
图14E所示为图14B的(b)所示的二维码被扫描成功后,界面跳转后在背屏显示的用户界面。可以看到,该跳转后的用户界面可以包括第一应用的图标4034、“支付成功”字样4035、付款金额(以100元为例示出)4036、付款方式4037和收款方4038等信息。
图14F所示为图14B的(b)所示的二维码被扫描成功后,界面跳转后在背屏显示的用户界面。可以看到,该跳转后的用户界面可以显示“扫码完成”的信息407。
可以理解的是,图14F和图14E所示仅为示例,不构成对本申请实施例的限制。在具体实现中,二维码被扫描成功后跳转的界面可以是其它用户界面,本申请实施例对此不做限制。或者,跳转后的用户界面可以显示其它的界面元素,本申请实施例也不做限制。
在一些实施例中,在上述第3时间点,响应于目标应用发送的结束背屏显示的事件,手机的背屏灭屏;以及在手机的主屏的背屏显示控件402B中显示指示扫码完成的信息。也就是说,响应于图14B的(b)所示的二维码被扫描成功,手机可以在主屏的背屏显示控件中提示用户手机背屏显示的二维码被扫描成功。
示例性的,参见图14G,图14F为图14B的(b)所示的二维码被扫描成功后,主屏的用户界面示意图。可以看到,该用户界面中显示了悬浮窗口402C。该悬浮窗口402C中可以包括该AA应用的图标402C1、指示已付款完成的文字402C2等等。示例性地,该指示已付款完成的文字402C2还可以指示付款的金额为“x元”。
可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例还提供一种电子设备,如图15所示,该电子设备可以包括一个或者多个处理器2001、存储器2002和通信接口2003。
其中,存储器2002、通信接口2003与处理器2001耦合。例如,存储器2002、通信接口2003与处理器2001可以通过总线2004耦合在一起。
其中,通信接口2003用于与其他设备进行数据传输。存储器2002中存储有计算机程序代码。计算机程序代码包括计算机指令,当计算机指令被处理器2001执行时,使得电子设备执行本申请实施例中的设备认证。
其中,处理器2001可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
其中,总线2004可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。上述总线2004可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算机可读存储介质,该计算机存储介质中存储有计算机程序代码,当上述处理器执行该计算机程序代码时,电子设备执行上述方法实施例中的相关方法步骤。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例中的相关方法步骤。
其中,本申请提供的电子设备、计算机可读存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种界面显示方法,其特征在于,所述方法应用于电子设备,所述电子设备包括显示屏,所述显示屏的显示区域包括第一屏和第二屏,所述显示屏处于折叠状态,所述第一屏和所述第二屏的显示方向相背,所述方法包括:
在第一时间点,在所述第一屏显示第一应用的界面;
在第二时间点,响应于预设的目标操作,在所述第二屏显示第二应用的二维码;所述第二时间点晚于所述第一时间点;
在所述第一时间点和所述第二时间点之间,所述第二屏处于黑屏状态,所述第一屏的容器节点在所述第二屏的容器节点之上;所述第一屏的容器节点与所述第二屏的容器节点挂载于根节点;
在第三时间点,响应于结束所述第二屏显示的事件,所述第二屏黑屏;所述第三时间点晚于所述第二时间点;
在所述第二时间点和所述第三时间点之间,所述第二屏的容器节点在所述第一屏的容器节点之上,所述第一屏显示有所述第一应用的界面;
在所述第三时间点之后,所述第一屏显示有所述第一应用的界面,所述第一屏的容器节点在所述第二屏的容器节点之上。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述结束所述第二屏显示的事件,将所述第二屏的容器节点调整到底部。
3.根据权利要求2所述的方法,其特征在于,在所述第二时间点和所述第三时间点之间,所述第二屏的容器节点挂载了与显示任务对应的窗口节点;
所述将所述第二屏的容器节点调整到底部,包括:
移除所述显示任务;
将所述第二屏的容器节点调整到底部。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述第一时间点与所述第二时间点之间,焦点窗口为所述第一屏的容器节点挂载的窗口节点;在所述第二时间点与所述第三时间点之间,所述焦点窗口为所述第二屏的容器节点挂载的窗口节点;
所述方法还包括:
在所述第三时间点,基于所述第一屏的容器节点在所述第二屏的容器节点之上,焦点窗口的更新判断条件通过,将挂载于所述第一屏的容器节点的窗口节点设置为所述焦点窗口。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述第三时间点之后,响应于返回操作,基于所述焦点窗口为所述第一屏的容器节点挂载的窗口节点,对在所述第一屏显示的所述第一应用的界面进行切换。
6.根据权利要求4所述的方法,其特征在于,所述电子设备还包括音量键,所述第一应用的界面是电子书应用的电子书显示界面,所述电子书显示界面包括电子书的当前页;所述方法还包括:
在所述第三时间点之后,响应于触发所述音量键的操作,基于所述焦点窗口为所述第一屏的容器节点挂载的窗口节点,对在所述第一屏显示的所述电子书的当前页进行翻页。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述结束所述第二屏显示的事件,将所述第一屏的容器节点调整到顶部。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述响应于预设的目标操作,在所述第二屏显示第二应用的二维码,包括:
响应于预设的目标操作,在所述第二屏显示所述第二应用的二维码,以及在所述第一屏显示第二屏显示控件;
在第三时间点,所述响应于结束所述第二屏显示的事件,所述第二屏黑屏,包括:
在所述第三时间点,基于针对所述第二屏显示控件的移除操作,所述第二屏黑屏;在所述第三时间点之后,所述第一屏未显示有所述第二屏显示控件。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述响应于结束所述第二屏显示的事件,所述第二屏黑屏,包括:
基于所述第二应用的二维码被扫描完成,所述第二屏黑屏;
或者,基于所述第二屏显示第二应用的二维码的时长超过预设时长,所述第二屏黑屏。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述目标操作包括从所述第一屏的后方向所述第一屏的前方敲击的操作。
11.一种界面显示方法,其特征在于,所述方法应用于电子设备,所述电子设备包括显示屏,所述显示屏的显示区域包括第一屏和第二屏,所述显示屏处于折叠状态,所述第一屏和所述第二屏的显示方向相背;所述方法包括:
在第四时间点,在所述第一屏显示第三应用的界面;在所述第四时间点,根节点挂载第一屏的容器节点;
在第五时间点,响应于预设的目标操作,在所述第二屏显示所述第四应用的二维码,并创建挂载于所述根节点的所述第二屏的容器节点;所述第五时间点晚于所述第四时间点;
在第六时间点,响应于结束所述第二屏显示的事件,所述第二屏黑屏,并移除所述第二屏的容器节点;所述第六时间点晚于所述第五时间点;
在所述第五时间点和所述第六时间点之间,所述第二屏的容器节点在所述第一屏的容器节点之上,所述第一屏显示有所述第三应用的界面;
在所述第六时间点之后,所述第一屏显示有所述第三应用的界面。
12.一种电子设备,其特征在于,所述电子设备包括存储器、一个或多个处理器,所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-11任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311215864.0A CN117519864B (zh) | 2023-09-19 | 2023-09-19 | 界面显示方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311215864.0A CN117519864B (zh) | 2023-09-19 | 2023-09-19 | 界面显示方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117519864A true CN117519864A (zh) | 2024-02-06 |
CN117519864B CN117519864B (zh) | 2024-07-23 |
Family
ID=89750166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311215864.0A Active CN117519864B (zh) | 2023-09-19 | 2023-09-19 | 界面显示方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519864B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170153792A1 (en) * | 2015-11-30 | 2017-06-01 | Samsung Electronics Co., Ltd. | User terminal device and displaying method thereof |
WO2020155876A1 (zh) * | 2019-01-31 | 2020-08-06 | 华为技术有限公司 | 控制屏幕显示的方法及电子设备 |
WO2020228735A1 (zh) * | 2019-05-14 | 2020-11-19 | 华为技术有限公司 | 一种显示应用的方法及电子设备 |
WO2020244497A1 (zh) * | 2019-06-05 | 2020-12-10 | 华为技术有限公司 | 一种柔性屏幕的显示方法及电子设备 |
WO2021023021A1 (zh) * | 2019-08-07 | 2021-02-11 | 华为技术有限公司 | 一种显示方法及电子设备 |
CN112684964A (zh) * | 2020-12-25 | 2021-04-20 | 北京小米移动软件有限公司 | 预览显示方法、装置、终端及存储介质 |
CN116048436A (zh) * | 2022-06-17 | 2023-05-02 | 荣耀终端有限公司 | 应用界面显示方法、电子设备及存储介质 |
-
2023
- 2023-09-19 CN CN202311215864.0A patent/CN117519864B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170153792A1 (en) * | 2015-11-30 | 2017-06-01 | Samsung Electronics Co., Ltd. | User terminal device and displaying method thereof |
WO2020155876A1 (zh) * | 2019-01-31 | 2020-08-06 | 华为技术有限公司 | 控制屏幕显示的方法及电子设备 |
WO2020228735A1 (zh) * | 2019-05-14 | 2020-11-19 | 华为技术有限公司 | 一种显示应用的方法及电子设备 |
WO2020244497A1 (zh) * | 2019-06-05 | 2020-12-10 | 华为技术有限公司 | 一种柔性屏幕的显示方法及电子设备 |
WO2021023021A1 (zh) * | 2019-08-07 | 2021-02-11 | 华为技术有限公司 | 一种显示方法及电子设备 |
CN112684964A (zh) * | 2020-12-25 | 2021-04-20 | 北京小米移动软件有限公司 | 预览显示方法、装置、终端及存储介质 |
CN116048436A (zh) * | 2022-06-17 | 2023-05-02 | 荣耀终端有限公司 | 应用界面显示方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117519864B (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113508360B (zh) | 卡片显示方法、电子设备及计算机可读存储介质 | |
WO2021057868A1 (zh) | 一种界面切换方法及电子设备 | |
JP2023514631A (ja) | インタフェースレイアウト方法、装置、及び、システム | |
EP3958117A1 (en) | User interface layout method and electronic device | |
EP3964937A1 (en) | Method for generating user profile photo, and electronic device | |
CN118276722A (zh) | 窗口的显示方法和电子设备 | |
EP4191400A1 (en) | Method and apparatus for implementing user interface | |
WO2024061032A1 (zh) | 窗口显示方法和相关装置 | |
CN117519864B (zh) | 界面显示方法、电子设备及存储介质 | |
CN115421603B (zh) | 一种笔迹处理方法、终端设备及芯片*** | |
CN115442517B (zh) | 图像处理方法、电子设备及计算机可读存储介质 | |
WO2023005751A1 (zh) | 渲染方法及电子设备 | |
CN114780012A (zh) | 电子设备的锁屏壁纸的显示方法和相关装置 | |
CN115291995B (zh) | 一种消息显示方法及相关电子设备、可读存储介质 | |
WO2023072113A1 (zh) | 显示方法及电子设备 | |
WO2024149089A1 (zh) | 显示方法、显示装置和电子设备 | |
CN116688494B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN117148959B (zh) | 眼动追踪的帧率调整方法及相关装置 | |
CN116700554B (zh) | 信息的显示方法、电子设备及可读存储介质 | |
CN115086413B (zh) | 信息提示方法和电子设备 | |
EP4351116A1 (en) | Window interaction method and electronic device | |
CN116700655B (zh) | 一种界面显示方法及电子设备 | |
WO2024066976A1 (zh) | 控件显示方法及电子设备 | |
WO2023160455A1 (zh) | 删除对象的方法及电子设备 | |
CN117742849A (zh) | 基于应用分身的界面显示方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |