CN117827044A - 嵌入式窗口显示方法、装置、电子设备及可读存储介质 - Google Patents
嵌入式窗口显示方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117827044A CN117827044A CN202211203385.2A CN202211203385A CN117827044A CN 117827044 A CN117827044 A CN 117827044A CN 202211203385 A CN202211203385 A CN 202211203385A CN 117827044 A CN117827044 A CN 117827044A
- Authority
- CN
- China
- Prior art keywords
- window
- embedded
- embedded window
- application
- operation instruction
- 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 107
- 230000002452 interceptive effect Effects 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000009877 rendering Methods 0.000 claims description 2
- 230000006978 adaptation Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 22
- 230000003993 interaction Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 230000001960 triggered effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- 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]
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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/445—Program loading or initiating
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及嵌入式窗口显示技术领域,提供一种嵌入式窗口显示方法、装置、电子设备及可读存储介质,该方法包括:在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作,从而通过嵌入式窗口打开对应的应用,实现一键操作,操作更加便捷,并且无需做特殊适配,任何应用均可使用。
Description
技术领域
本申请涉及电子设备技术领域,尤其涉及一种嵌入式窗口显示方法、装置、电子设备及可读存储介质。
背景技术
现在电子设备的功能越来越多,应用也越来越丰富,在用户当前使用扫一扫、付款码等高频快捷服务时,需要通过解锁,然后打开应用,接着选择对应服务等操作步骤,造成操作繁琐,还例如用户在息屏、锁屏、在线会议或视频等应用使用中,也是需要多次操作才能调出对应的服务,从而造成用户使用不便捷。
发明内容
本申请提供一种嵌入式窗口显示方法、装置、电子设备及可读存储介质,目的在于避免用户通过繁琐操作才能打开应用,提高使用的便捷性。
第一方面,本申请提供了一种嵌入式窗口显示方法,该方法包括:
在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;
在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;
在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作。
本申请所提供的嵌入式窗口显示方法,在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作,从而通过嵌入式窗口打开对应的应用,实现一键操作,操作更加便捷,并且无需做特殊适配,任何应用均可使用。
在一种可能的实现方式中,所述根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口,包括:
根据所述预设操作指令进行父窗口绘制;
在绘制完成的父窗口中启动嵌入式窗口。
在一种可能的实现方式中,所述根据所述预设操作指令进行父窗口绘制,包括:
获取待绘制父窗口的窗口大小以及所述待绘制父窗口中嵌入式窗口的占位信息;
根据所述待绘制父窗口的窗口大小以及嵌入式窗口的占位信息进行窗口绘制以及图层合成,得到绘制完成的父窗口。
在一种可能的实现方式中,所述根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口,包括:
获取目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式;
根据所述目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式进行嵌入式窗口的绘制,得到嵌入式窗口。
在一种可能的实现方式中,所述根据所述目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式进行嵌入式窗口的绘制之后,还包括:
在所述嵌入式窗口的栈模式创建完成时,将栈控制权移交给父窗口对应的宿主进程。
在一种可能的实现方式中,所述在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,包括:
在进行所述嵌入式窗口的绘制时,获取所述预设操作指令对应的应用的窗口大小以及所述嵌入式窗口已配置的窗口尺寸;根据所述窗口大小以及所述嵌入式窗口已配置的窗口尺寸确定所述预设操作指令对应的应用的展示区域;
根据所述展示区域展示所述预设操作指令对应的应用。
在一种可能的实现方式中,所述在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用之后,还包括:
获取预设同步事件;
根据所述预设同步事件调整所述嵌入式窗口的显示位置。
在一种可能的实现方式中,所述在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作,包括:
在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行界面切换。
在一种可能的实现方式中,所述在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作之后,还包括:
获取退出指令,根据所述退出指令返回至目标界面。
在一种可能的实现方式中,所述获取退出指令,根据所述退出指令返回至目标界面,包括:
根据所述退出指令移除嵌入式任务栈,并返回至目标界面。
第二方面,本申请提供了一种嵌入式窗口显示装置,包括:
启动模块,用于在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;
展示模块,用于在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;
操作模块,用于在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作。
第三方面,本申请提供了一种电子设备,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如上述第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
第五方面,本申请提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
可选的,作为一种可能的实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
附图说明
图1a图1b为现有技术应用进程处理的一个示意性场景图;
图2为本申请实施例提供的电子设备的一种结构示意图;
图3为本申请实施例提供的电子设备的一种软件结构框图;
图4为本申请一个实施例提供的嵌入式窗口显示方法的流程示意图;
图5为本申请另一个实施例提供的嵌入式窗口显示方法的启动嵌入式窗口的场景示意图;
图6为本申请另一个实施例提供的嵌入式窗口显示方法的嵌入式窗口的显示界面示意图;
图7为本申请另一个实施例提供的嵌入式窗口显示方法的嵌入式窗口启动的模块交互图;
图8为本申请提供的示例的其他应用覆盖嵌入式窗口的示意图;
图9为本申请提供的示例的输入界面覆盖嵌入式窗口的示意图;
图10为本申请另一个实施例提供的嵌入式窗口显示方法的调整后的嵌入式窗口的示意图;
图11a图11b为本申请提供的示例的应用锁界面展示的一个示意性场景图;
图12为本申请另一个实施例提供的嵌入式窗口显示方法的快捷卡片的功能示意图;
图13为本申请另一个实施例提供的嵌入式窗口显示方法的流程示意图;
图14为本申请另一个实施例提供的嵌入式窗口显示方法的父窗口中占位信息的加载示意图;
图15为本申请另一个实施例提供的嵌入式窗口显示方法的流程示意图;
图16为本申请另一个实施例提供的嵌入式窗口显示方法的嵌入式窗口应用切换场景示意图;
图17为本申请另一个实施例提供的嵌入式窗口显示方法的嵌入式窗口应用切换场景示意图;
图18为本申请另一个实施例提供的嵌入式窗口显示方法的嵌入式窗口退出模块交互图;
图19为本申请另一个实施例提供的嵌入式窗口显示方法的嵌入式窗口退出的场景示意图;
图20为本申请提供的一种嵌入式窗口显示装置的结构示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出一种嵌入式窗口显示的实现方案的简要介绍:
目前,可以通过在手机背面敲击两下或三下,手机上打开自定义快捷功能,为用户提供了任意场景下一步直达的操作,例如图1a所示,或者在手机背面敲击两下或三下,手机上打开自定义快捷功能,例如图1b所示,但是无法实现与用户之间的交互,打断了用户沉浸式体验。
基于上述技术方案中存在的问题,本申请提供了一种嵌入式窗口显示方法,通过在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作,从而通过嵌入式窗口打开对应的应用,实现一键操作,操作更加便捷,并且无需做特殊适配,任何应用均可使用。所提供的嵌入式窗口显示方法,可以适用于手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等电子设备。其中,适用该嵌入式窗口显示方法的电子设备,其结构可以如图2所示。
如图2所示,图2为本申请提供的一种电子设备的组成示例图,电子设备200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serialbus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,气压传感器280C,磁传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,指纹传感器280H,温度传感器280J,触摸传感器280K,环境光传感器280L,骨传导传感器280M等。
可以理解的是,本实施例示意的结构并不构成对该电子设备200的具体限定。在另一些实施例中,该电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了***的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在本申请另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(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)。
电子设备200通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
电子设备200的显示屏294上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该电子设备200的主屏幕。一般来说,电子设备200的显示屏294的尺寸是固定的,只能在该电子设备200的显示屏294中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。例如,在本申请实施例中,显示屏291可以显示虚拟按键(一键编排、开始编排、场景编排)。
电子设备200可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。
电子设备200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
另外,在上述部件之上,运行有操作***。例如鸿蒙***,iOS操作***,Android开源操作***,Windows操作***等。在该操作***上可以安装运行应用程序。
图3为本申请实施例提供的电子设备的一种软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在本申请的一些实施例中,电子设备的软件架构至少包括三层,从上至下分别为应用程序层,应用程序框架层,以及硬件抽象层。
应用程序层可以包括一系列应用程序包。这些应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序,在本申请的一些实施例中应用程序层还包括嵌入式窗口服务、嵌入式窗口模块、嵌入式窗口接口模块,嵌入式窗口服务为SystemUI模块的新增模块,嵌入式窗口模块为WM-Shell Lib模块的新增模块。
嵌入式窗口模块用于实现嵌入式窗口显示交互主要功能,包含启动退出控制、窗口显示控制、状态同步及事件传递。
嵌入式窗口接口模块用于实现嵌入式窗口能力接口封装,提供给宿主进程进行调用。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等,在本申请的一些实施例中应用程序框架层还包括调整后的AMS模块、调整后的WMS模块以及新增的嵌入式窗口接口集。
调整后的AMS模块用于实现嵌入式Activity启动及生命周期管理。
调整后的WMS模块用于实现嵌入式Task管理,Task内Activity跳转控制,嵌入式窗口场景的焦点及可见性管理,config更新及兼容性管理。
嵌入式窗口接口集用于提供给***应用使用。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
硬件抽象层为电子设备200的操作***内核与硬件电路之间的接口层,其目的在于将硬件抽象化。
为了便于理解,本申请以下实施例将以具有图2和图3所示结构的电子设备200为例,结合附图和应用场景,对本申请实施例提供的嵌入式窗口显示方法进行具体阐述。
图4为本申请一个实施例提供的嵌入式窗口显示方法的流程示意图。
如图4所示,上述嵌入式窗口显示方法可以包括:
步骤S10:在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口。
在一般情况下,用户当前使用扫一扫、付款码等高频快捷服务时,操作繁琐,例如需要先解锁,然后打开应用,接着选择对应服务等;用户在息屏、锁屏、应用使用中,例如在线会议、视频等使用快捷服务,操作不统一,不便捷,本实施例通过向应用窗口提供嵌入式窗口显示能力,支撑快捷任务卡片实现高效的快捷任务窗口展示,即用户在使用过程中,通过预设操作即可嵌入式窗口打开应用,直接使用的唤起方式快捷服务,窗口***提供嵌入式窗口显示及交互能力,支撑快捷任务卡片Launcher,方便用户高效的使用快捷任务。
在具体实现中,预设操作指令可为电子设备的背部敲击操作,还可为快捷手势操作,还可为其他形式的操作,本实施例对此并不限制,在本实施例中,以电子设备的背部敲击操作为例进行说明。
需要说明的是,可以设置背部敲击次数,以预设时间内敲击大于1次的敲击数量为效敲击事件,还可设置其他次数,本实施例对此不做限制,可根据需求进行灵活调整,以敲击2次为背部敲击有效事件为例说明,为了避免误操作,因此以敲击2次为背部敲击有效事件,从而提高启动嵌入式窗口的准确性。
为了实现通过嵌入式窗口打开应用,如图5所示的启动嵌入式窗口的场景示意图,其中,①表示主界面,通过在背部操作两次启动快捷任务卡片,嵌入式窗口显示微信收付款应用,如图6所示的嵌入式窗口的显示界面示意图,其中,10表示已加载应用的嵌入式窗口,20表示父窗口。
在一种可能实现的方式中,启动的应用可根据预先设置的应用启动,预先设置的启动的应用可为一个,即在背部操作两次在嵌入式窗口启动预先设置的应用,例如图6所示的,嵌入式窗口启动微信收付款应用,从而实现快捷的应用启动。
在一种可能实现的方式中,预先设置的启动的应用可为多个,在为多个应用时,可设置应用的优先级,在启动嵌入式窗口显示应用时,以优先级最高的先进行显示,然后其他的应用可根据切换操作进行依次操作,从而提高快捷启动应用的有效性。
如图7所示的嵌入式窗口启动的模块交互图,在检测到目标应用的启动操作时,触发宿主进程业务,宿主进程发送与嵌入式窗口服务建立连接的请求至嵌入式窗口服务,嵌入式窗口服务发送获取嵌入式窗口跨进程通信实例的请求至嵌入式窗口模块,嵌入式窗口模块返回嵌入式窗口跨进程通信实例至嵌入式窗口服务,嵌入式窗口服务返回嵌入式窗口跨进程通信实例至宿主进程,以实现宿主进程与嵌入式窗口模块的直接通信,其中,宿主进程可为父窗口对应的进程。
宿主进程与嵌入式窗口模块的建立通信连接之后,宿主进程先进行初始化,完成父窗口的绘制,具体绘制过程为:宿主进程发送添加父窗口请求至WMS,其中,父窗口请求中包含占位图信息,并将父窗口的窗口大小发送至Graphics绘制模块进行窗口绘制,宿主进程还发送图层信息至SurfaceFlinger进行父窗口图层合成,图层合成完成之后进行父窗口显示,然后宿主进程发送启动嵌入式窗口的请求至嵌入式窗口模块,请求中还包括启动参数,启动参数包括目标窗口、窗口尺寸、栈模式、触摸模式以及Back模式,其中,目标窗口表示启动对应应用的窗口,窗口尺寸表示嵌入式窗口的尺寸、栈模式包括嵌入式窗口中的应用处理方式,包括新栈、拆栈模以及复用主栈模式、触摸模式表示嵌入式窗口中是否需要设有触摸交互操作的控件,Back模式表示嵌入式窗口中的应用返回处理方式。
嵌入式窗口模块根据接收到的启动参数,配置嵌入式窗口的目标窗口、窗口模式、窗口尺寸、嵌入式窗口标记位以及栈模式,其中,窗口模式表示嵌入式窗口的显示模式,包括multi-window、画中画或者悬浮框等显示模式,嵌入式窗口标记位表示窗口是嵌入式窗口的标识信息,嵌入式窗口模块将目标窗口、窗口模式、窗口尺寸、嵌入式窗口标记位以及栈模式发送给AMS模块,AMS模块根据目标窗口将窗口模式以及窗口尺寸发送给嵌入式应用进行窗口的拉起,然后将嵌入式窗口标记位以及栈模式发送给WMS模块,嵌入式应用将窗口尺寸发送给WMS模块进行窗口添加,WMS模块根据窗口尺寸和窗口大小进行窗口绘制,WMS模块进行嵌入式窗口的绘制过程包括:嵌入式应用将窗口大小发送给Graphics绘制模块,Graphics绘制模块在绘制完成后通知WMS模块,WMS模块在绘制完成后,通知嵌入式窗口模块已创建,栈控制权移交嵌入式窗口模块,嵌入式窗口模块将栈控制权移交给宿主进程,宿主进程进行图层合成实现窗口的显示,宿主进程进行图层合成具体为:宿主进程通过SurfaceView下挂栈图层,并发送设置嵌入式应用栈图层可见的配置请求至SurfaceFlinger模块,通过SurfaceFlinger模块进行图层合成,并合成完成之后通知交互模块进行界面显示,从而完成嵌入式窗口启动。
另外,嵌入式窗口的效果也可以通过悬浮窗形态启动,然后在上层覆盖***卡包窗口,在卡包窗口上“挖洞”透出下层的应用界面。这种方式不需要增加额外的窗口能力,用比较少的工作量实现卡片显示效果,但存在三方面问题:
(1)层级问题。三方应用窗口和卡包窗口之间存在其他类型窗口,这些窗口弹出的话会破坏卡片显示效果。如图8所示其他应用覆盖嵌入式窗口的示意图,而本实施例由于是通过嵌入式窗口进行应用切换,三方应用窗口和卡包窗口基本处于同一层级,因此可解决层级问题。
(2)Task管理问题。直接使用三方应用的主Task栈,用于卡片形态显示,应用在卡片形态和普通全屏形态场景,Task栈的Activity界面状态存在互相干扰,用户体验不佳。比如,用户在使用微信聊天,然后呼出卡包显示微信支付码。***将微信切换为卡片形态,并在微信主Task栈中启动支付码界面。当用户支付完成后,再退回到微信时,发现微信回到首界面。这是由于在微信退出卡片形态后,对微信主Task进行清理,避免仍停留在支付码界面,但这样做影响用户返回之前聊天任务。
而本实施例由于是通过嵌入式窗口在进行窗口绘制完成之后,将嵌入式窗口的控制权通过嵌入式窗口模块转发到宿主进程,通过父窗口决定嵌入式窗口的Back模式,保证嵌入式窗口的正常使用。
在配置嵌入式窗口的启动参数时,由于可根据需求配置嵌入式窗口的Back模式,根据Back模式确定返回指定的主界面或者应用,例如嵌入式窗口显示为微信的收付款应用时,用户进行返回操作,由于新栈及拆栈模式下,嵌入式Task根Activity在前台显示的场景下,触发Back事件,在Android原生流程下,该Back事件会被其消费,业务逻辑为:销毁该Activity;最终导致嵌入式窗口被销毁而其父窗口被未销毁,造成显示错误;
在复用主栈模式下,嵌入式Task的嵌入式根Activity在前台显示的场景下,触发Back事件,在Android原生流程下,该Back事件会被其消费,业务逻辑为:销毁该Activity,并显示该Activity下的其他Activity;最终导致嵌入式窗口显示区域显示非用户拉起的嵌入式窗口。
在一种可能实现的方式中,本实施例通过Back模式确定返回指定为主界面时,在嵌入式窗口显示为微信的收付款应用时,用户进行返回操作,返回主界面,从而避免造成显示错误或者嵌入式窗口显示区域显示非用户拉起的嵌入式窗口。
在一种可能实现的方式中,本实施例通过Back模式确定返回指定为上一级应用时,在嵌入式窗口显示为微信的收付款应用时,用户进行返回操作,返回上一级应用界面,从而避免造成显示错误或者嵌入式窗口显示区域显示非用户拉起的嵌入式窗口,需要说明的是,Back模式还可根据需求进行灵活配置,从而提高界面操作显示的灵活性。
(3)***和应用窗口同步问题。由于***卡包窗口和三方应用窗口之间是“两张皮”,缺少必要的关联,不容易做关联处理,适配不全面的话一些场景可能出现状态不匹配现象。如9所示的输入界面覆盖嵌入式窗口的示意图。
在一种可能实现的方式中,为了能够支撑快捷服务卡片界面,可以解决层级关联的问题,并支持嵌入式窗***互操作。Task管理方面,***提供多种嵌入式Task栈运行模式,包括独立Task、复用主Task以及主Task拆栈,根据嵌入式应用兼容性,选择合适的运行模式。***与应用窗口同步方面,增加同步事件通知,由快捷服务卡片Launcher对嵌入的应用窗口进行必要调整,具体为获取预设同步事件,根据所述预设同步事件调整所述嵌入式窗口的显示位置,如10所示的调整后的嵌入式窗口的示意图,预设同步事件可为启动其他***应用,例如在嵌入式窗口显示微信支付款应用时,需要进行输入界面操作的情况,则可将嵌入式窗口进行上移,以免出现输入界面覆盖嵌入式窗口的情况,从而提高嵌入式窗口使用的有效性。
在一种可能实现的方式中,本实施例由于是通过嵌入式窗口在进行窗口绘制完成之后,将嵌入式窗口的控制权通过嵌入式窗口模块转发到宿主进程,通过宿主进程决定嵌入式窗口的窗口模式,保证嵌入式窗口的正常使用。例如在嵌入式窗口启动对应应用时,在应用配置了应用锁时,应用锁鉴权界面的启动形态只能和启动界面保持一致,比如悬浮窗、画中画pip或者bubble内加载应用锁界面时,其界面形态也自然是悬浮窗、画中画或者bubble,如图11a所示的画中画模式的应用锁界面以及如图11b所示的悬浮窗模式的应用锁界面,但是在应用锁解锁界面中如果需要调用输入法,在应用锁界面窗口尺寸较小的情况下,输入界面无法在应用锁界面显示完全,图11a图11b为现有技术应用锁界面展示的一个示意性场景图。
而本实施例在检测到目标应用的启动操作时,根据所述启动操作获取预置的应用锁界面的显示模式;根据所述预置的应用锁界面的显示模式展示所述应用锁界面,从而可根据预置的应用锁界面的显示模式,即窗口模式展示应用锁界面,而无需根据启动界面的形态确定,提高应用锁鉴权界面启动的灵活性,为了避免应用锁界面显示不全,设置应用锁界面进行全屏显示,保证应用锁界面的正常显示。
在具体实现中,针对本实施例嵌入式窗口模块获取预置的应用锁界面的显示模式,即窗口模式,根据配置指定显示模式,并将显示模式通过AMS模块启动嵌入式窗口,AMS模块再将显示模式以及窗口尺寸发送至嵌入式应用进行嵌入式应用窗口的拉起,从而避免根据启动界面的形态确定,而是通过预置的应用锁界面的显示模式展示所述应用锁界面,提高应用锁鉴权界面启动的灵活性。
在另一实施例中,由于实现了嵌入式窗口启动,在展示嵌入式窗口后,前台焦点一般是在嵌入式窗口,在获取的待处理事件时,将待处理事件都是传输给前台焦点对应的窗口进行处理,但是嵌入式窗口在对待处理事件进行消费时,新栈及拆栈模式下,嵌入式Task根Activity在前台显示的场景下,触发Back事件,在Android原生流程下,该Back事件会被其消费,业务逻辑为:销毁该Activity;最终导致嵌入式窗口被销毁而其父窗口被未销毁,造成显示错误;在复用主栈模式下,嵌入式Task的嵌入式根Activity在前台显示的场景下,触发Back事件,在Android原生流程下,该Back事件会被其消费,业务逻辑为:销毁该Activity,并显示该Activity下的其他Activity;最终导致嵌入式窗口显示区域显示非用户拉起的嵌入式窗口,因此,将待处理事件移交至父窗口对应的宿主进程进行处理,实现嵌入式窗口和其父窗口的交互。
为了实现嵌入式窗口和其父窗口的交互,首先判断前台焦点窗口是否为嵌入式窗口,如果前台焦点窗口不为嵌入式窗口,则不会出现上述问题,在前台焦点窗口为嵌入式窗口,才会出现上述问题,从而提高***处理的效率。
在具体实现中,NativeInputManager模块在获取到待处理事件时,将待处理事件发送给PhoneWindowManager模块,PhoneWindowManager模块发送判断前台焦点窗口是否为嵌入式窗口的指令至WindowState模块,通过WindowState模块判断全局变量mActivityRecord是否为空,在全局变量mActivityRecord为空时,则返回判断结果至PhoneWindowManager模块,PhoneWindowManager模块再返回至NativeInputManager模块,在全局变量mActivityRecord不为空时,则判断前台焦点窗口是否为嵌入式窗口,前台焦点窗口为嵌入式窗口,则取消前台处理标签,并回调通知宿主进程至ActivityTaskManageInternal模块,ActivityTaskManageInternal模块再通知HnEmbeddedView模块,从而通知至宿主进程进行处理,前台焦点窗口不为嵌入式窗口,则返回判断结果至PhoneWindowManager模块,由PhoneWindowManager模块返回判断结果至NativeInputManager模块,NativeInputManager模块发送判断后的待处理事件至InputDispatcher模块,InputDispatcher模块判断待处理事件是否包含前台处理标签,在判断待处理事件包含前台处理标签,则将待处理事件分发至前台焦点窗口应用处理,在判断待处理事件不包含前台处理标签,则将待处理事件丢弃。
步骤S20:在所述嵌入式窗口内展示所述预设操作指令对应的应用以及交互组件,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联。
在本实施例中,在嵌入式窗口内展示所述预设操作指令对应的应用时,还可展示交互组件,继续如图6所示的零钱组件,可对零钱组件进行操作,在具体实现中,在配置嵌入式窗口时,可通过设置触摸模式确定嵌入式窗口中的交互组件,从而实现用户操作,提高用户交互体验。
步骤S30:在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作。
如图12所示的快捷卡片的功能示意图,用户通过使用快捷服务,可实现呼出快捷卡片、切换快捷卡片、退出快捷卡片以及操作快捷卡片等功能,从而扩展快捷卡片的功能,提高快捷卡片的使用,另外,Android Bubble特性将应用界面嵌入Bubble窗口,其他应用需做特殊适配,而本实施例被嵌入应用无需做特殊适配,Android Bubble嵌入窗口的宿主进程只能是SystemUI,而本实施例任何应用均可作为宿主进程。
在本实施例中,通过在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作,从而通过嵌入式窗口打开对应的应用,实现一键操作,操作更加便捷,并且无需做特殊适配,任何应用均可使用。
图13为本申请另一个实施例提供的嵌入式窗口显示方法的流程图,如图13所示,上述嵌入式窗口显示方法基于第一实施例,所述步骤S10,包括:
步骤S101,根据所述预设操作指令进行父窗口绘制。
在具体实现中,获取待绘制父窗口的窗口大小以及所述待绘制父窗口中嵌入式窗口的占位信息;根据所述待绘制父窗口的窗口大小以及嵌入式窗口的占位信息进行窗口绘制以及图层合成,得到绘制完成的父窗口。
如图14所示的父窗口中占位信息的加载,30表示在嵌入式窗口的占位区域,绘制父窗口时,包括待绘制父窗口中嵌入式窗口的占位信息,根据待绘制父窗口中嵌入式窗口的占位信息进行父窗口的绘制,根据嵌入式窗口的占位信息预留嵌入式窗口的显示区域,方便嵌入式窗口应用的加载。
在一种可能的实现方式中,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口,包括:获取目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式;根据所述目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式进行嵌入式窗口的绘制,得到嵌入式窗口。
继续如图7所示的嵌入式窗口启动的模块交互图,在启动嵌入式窗口时,通过启动参数进行嵌入式窗口的配置,完成嵌入式窗口的绘制,启动参数包括目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式以及Back模式等。
在一种可能的实现方式中,根据所述目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式进行嵌入式窗口的绘制之后,还包括:在所述嵌入式窗口的栈模式创建完成时,将栈控制权移交给父窗口对应的宿主进程。
需要说明的是,本实施例中的嵌入式窗口的栈模式可根据实际需求进行调整,由于本实施例实现了嵌入式窗口的启动,在启动嵌入式窗口之后,并且前台焦点在嵌入式窗口时,在一般情况下,在获取到操作事件时,操作事件会由前台焦点对应的嵌入式窗口进行处理,但是在嵌入式窗口出现问题的情况下,例如应用出现错误,则无法对操作事件进行处理,而本实施例将栈控制权移交给父窗口对应的宿主进程,而不通过嵌入式窗口进行处理,将栈控制权移交给父窗口对应的宿主进程,在获取到操作事件时,将操作事件通过父窗口对应的宿主进程进行事件处理,保证事件的正常响应。
步骤S102,在绘制完成的父窗口中启动嵌入式窗口。
在一种可能的实现方式中,在进行嵌入式窗口的绘制时,获取所述预设操作指令对应的应用的窗口大小以及所述嵌入式窗口已配置的窗口尺寸;根据所述窗口大小以及所述嵌入式窗口已配置的窗口尺寸确定所述预设操作指令对应的应用的展示区域,并根据所述展示区域展示所述预设操作指令对应的应用。
需要说明的是,由于嵌入式窗口模块已配置窗口尺寸,但是嵌入式窗口模块已配置的窗口尺寸与拉起的嵌入式应用的窗口大小会出现不一致的情况,为了保证所述嵌入式窗口内展示所述预设操作指令对应的应用的正常显示,可根据所述窗口大小以及所述嵌入式窗口已配置的窗口尺寸进行适度调整。
图15为本申请另一个实施例提供的嵌入式窗口显示方法的流程图,如图15所示,上述嵌入式窗口显示方法基于第一实施例,所述步骤S30,包括:
步骤S301,在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行界面切换。
需要说明的是,所述嵌入式窗口应用上设有交互组件,例如图6所示的嵌入式窗口应用中有零钱组件,通过零钱组件可进行交互操作,所述嵌入式窗口应用的操作指令还可为左滑或右滑操作,还可为其他形式的操作。
在对嵌入式窗口应用进行左滑或右滑操作时,可实现嵌入式窗口应用的切换,例如将嵌入式窗口应用微信收付款切换为支付宝支付应用,如图16所示的嵌入式窗口应用切换场景,还可在嵌入式窗口内设有交互组件,通过交互组件进行应用切换,从而进行界面切换,交互组件可为切换按钮,还可为其他形式的切换方式,本实施例对此不做限制。
在一种可能的实现方式中,还可在快捷任务卡片设有交互组件,快捷任务卡片为通过预设操作启动的Launcher,快捷任务卡片包括嵌入式窗口以及交互组件,通过快捷任务卡片设有交互组件进行应用切换,如图17所示的另一实施例的嵌入式窗口应用切换场景,通过快捷任务卡片中交互组件,例如收付款,可将嵌入式窗口应用中的微信收付款应用切换为支付宝支付应用,从而提高嵌入式窗口显示的灵活性。
在一种可能的实现方式中,所述步骤S20之后,还包括:获取退出指令,根据所述退出指令返回至目标界面,具体为根据所述退出指令移除嵌入式任务栈,并返回至目标界面。
需要说明的是,嵌入式窗口应用上设有的交互组件还可为关闭控件,通过点击关闭控件得到退出指令,还可通过滑动操作执行退出指令,本实施例对此不做限制,目标界面可为主界面,还可为***中运行的上一级应用界面,本实施例对此不做限制,在配置嵌入式窗口时,可设置Back模式,通过Back模式可在退出时返回到指定的目标界面,例如Back模式配置为主界面,则在嵌入式窗口监测到退出事件时,则将嵌入式窗口退出,如图18所示的嵌入式窗口退出模块交互图,在检测到关闭控件的触发操作时,根据触发操作触发关闭宿主进程业务,宿主进程发送关闭嵌入式窗口的请求至嵌入式窗口模块,嵌入式窗口模块发送移除嵌入式Task的请求至AMS模块,AMS模块发送关闭嵌入式应用的请求至嵌入式应用,AMS模块还发送销毁嵌入式Task的请求至WMS模块,WMS模块销毁嵌入式Task,并通知嵌入式窗口模块嵌入式Task已销毁嵌入式窗口模块通知宿主进程嵌入式Task已销毁,在交互模块呈现嵌入式窗口的界面消失,并返回到指定的目标界面,如图19所示的嵌入式窗口退出的场景示意图。
在本实施例中,在嵌入式窗口实现嵌入式窗口的退出功能,并根据所述退出指令移除嵌入式任务栈,返回至目标界面,从而返回至指定的目标界面,提高界面显示的准确性。
图20示出了本申请提供的一种嵌入式窗口显示装置的结构示意图。本申请提供的嵌入式窗口显示装置900包括:
启动模块901,用于在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口。
展示模块902,用于在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联。
操作模块903,用于在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作。
本申请所提供的嵌入式窗口显示方法,在本实施例中,在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作,从而通过嵌入式窗口打开对应的应用,实现一键操作,操作更加便捷,并且无需做特殊适配,任何应用均可使用。
在一种可能的实现方式中,所述启动模块901,还用于所述根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口,包括:
根据所述预设操作指令进行父窗口绘制;
在绘制完成的父窗口中启动嵌入式窗口。
在一种可能的实现方式中,所述启动模块901,还用于获取待绘制父窗口的窗口大小以及所述待绘制父窗口中嵌入式窗口的占位信息;
根据所述待绘制父窗口的窗口大小以及嵌入式窗口的占位信息进行窗口绘制以及图层合成,得到绘制完成的父窗口。
在一种可能的实现方式中,所述启动模块901,还用于获取目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式;
根据所述目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式进行嵌入式窗口的绘制,得到嵌入式窗口。
在一种可能的实现方式中,所述启动模块901,还用于在所述嵌入式窗口的栈模式创建完成时,将栈控制权移交给父窗口对应的宿主进程。
在一种可能的实现方式中,所述展示模块902,还用于在进行所述嵌入式窗口的绘制时,获取所述预设操作指令对应的应用的窗口大小以及所述嵌入式窗口已配置的窗口尺寸;根据所述窗口大小以及所述嵌入式窗口已配置的窗口尺寸确定所述预设操作指令对应的应用的展示区域;
根据所述展示区域展示所述预设操作指令对应的应用。
在一种可能的实现方式中,所述展示模块902,还用于获取预设同步事件;
根据所述预设同步事件调整所述嵌入式窗口的显示位置。
在一种可能的实现方式中,所述操作模块903,还用于在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行界面切换。
在一种可能的实现方式中,所述操作模块903,还用于获取退出指令,根据所述退出指令返回至目标界面。
在一种可能的实现方式中,所述操作模块903,还用于根据所述退出指令移除嵌入式任务栈,并返回至目标界面。
应理解的是,这里的电子设备以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(applicationspecific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
本申请还提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如上述第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
本申请还提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
可选的,该芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的可能的实现方式中任一项所述的嵌入式窗口显示方法。
存储器可以是只读存储器可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable/>only memory,EEPROM)、只读光盘(compact disc read-only memory,/>ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
本申请实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:或/>其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种嵌入式窗口显示方法,其特征在于,所述嵌入式窗口显示方法,包括:
在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;
在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;
在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作。
2.如权利要求1所述的嵌入式窗口显示方法,其特征在于,所述根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口,包括:
根据所述预设操作指令进行父窗口绘制;
在绘制完成的父窗口中启动嵌入式窗口。
3.如权利要求1所述的嵌入式窗口显示方法,其特征在于,所述根据所述预设操作指令进行父窗口绘制,包括:
获取待绘制父窗口的窗口大小以及所述待绘制父窗口中嵌入式窗口的占位信息;
根据所述待绘制父窗口的窗口大小以及嵌入式窗口的占位信息进行窗口绘制以及图层合成,得到绘制完成的父窗口。
4.如权利要求1所述的嵌入式窗口显示方法,其特征在于,所述根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口,包括:
获取目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式;
根据所述目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式进行嵌入式窗口的绘制,得到嵌入式窗口。
5.如权利要求4所述的嵌入式窗口显示方法,其特征在于,所述根据所述目标窗口、窗口模式、嵌入式窗口的窗口尺寸、嵌入式窗口标记位、嵌入式窗口的栈模式和嵌入式窗口的触摸模式进行嵌入式窗口的绘制之后,还包括:
在所述嵌入式窗口的栈模式创建完成时,将栈控制权移交给父窗口对应的宿主进程。
6.如权利要求1所述的嵌入式窗口显示方法,其特征在于,所述在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,包括:
在进行所述嵌入式窗口的绘制时,获取所述预设操作指令对应的应用的窗口大小以及所述嵌入式窗口已配置的窗口尺寸;
根据所述窗口大小以及所述嵌入式窗口已配置的窗口尺寸确定所述预设操作指令对应的应用的展示区域;
根据所述展示区域展示所述预设操作指令对应的应用。
7.如权利要求1所述的嵌入式窗口显示方法,其特征在于,所述在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用之后,还包括:
获取预设同步事件;
根据所述预设同步事件调整所述嵌入式窗口的显示位置。
8.如权利要求1所述的嵌入式窗口显示方法,其特征在于,所述在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作,包括:
在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行界面切换。
9.如权利要求1所述的嵌入式窗口显示方法,其特征在于,所述在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作之后,还包括:
获取退出指令,根据所述退出指令返回至目标界面。
10.如权利要求9所述的嵌入式窗口显示方法,其特征在于,所述获取退出指令,根据所述退出指令返回至目标界面,包括:
根据所述退出指令移除嵌入式任务栈,并返回至目标界面。
11.一种嵌入式窗口显示装置,其特征在于,所述嵌入式窗口显示装置包括:
启动模块,用于在检测到预设操作指令时,根据所述预设操作指令在当前显示的父窗口中启动嵌入式窗口;
展示模块,用于在所述嵌入式窗口内展示所述预设操作指令对应的嵌入式窗口应用,其中,所述嵌入式窗口与所述父窗口处于同一层级或相邻层级,并且所述嵌入式窗口展示的应用与所述父窗口关联;
操作模块,用于在接收到所述嵌入式窗口应用的操作指令时,根据所述嵌入式窗口应用的操作指令进行交互操作。
12.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1至10中任一项所述的嵌入式窗口显示方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至10中任一项所述的嵌入式窗口显示方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211203385.2A CN117827044A (zh) | 2022-09-29 | 2022-09-29 | 嵌入式窗口显示方法、装置、电子设备及可读存储介质 |
PCT/CN2023/112680 WO2024066764A1 (zh) | 2022-09-29 | 2023-08-11 | 嵌入式窗口显示方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211203385.2A CN117827044A (zh) | 2022-09-29 | 2022-09-29 | 嵌入式窗口显示方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827044A true CN117827044A (zh) | 2024-04-05 |
Family
ID=90475968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211203385.2A Pending CN117827044A (zh) | 2022-09-29 | 2022-09-29 | 嵌入式窗口显示方法、装置、电子设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117827044A (zh) |
WO (1) | WO2024066764A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6683629B1 (en) * | 2000-08-03 | 2004-01-27 | Neoplanet, Inc. | Method in a computer system for embedding a child window in a parent window |
CN104142758B (zh) * | 2014-08-13 | 2017-07-04 | 福建星网视易信息***有限公司 | 一种嵌入式窗口管理方法及装置 |
CN109086095A (zh) * | 2018-06-20 | 2018-12-25 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序快速开启方法、装置、终端及存储介质 |
CN109947342A (zh) * | 2019-03-12 | 2019-06-28 | 惠州Tcl移动通信有限公司 | 移动终端、应用启动方法及存储介质 |
CN110058777B (zh) * | 2019-03-13 | 2022-03-29 | 华为技术有限公司 | 快捷功能启动的方法及电子设备 |
CN113835569A (zh) * | 2021-09-14 | 2021-12-24 | 青岛海信移动通信技术股份有限公司 | 终端设备、应用内部功能的快捷启动方法和存储介质 |
-
2022
- 2022-09-29 CN CN202211203385.2A patent/CN117827044A/zh active Pending
-
2023
- 2023-08-11 WO PCT/CN2023/112680 patent/WO2024066764A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024066764A1 (zh) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113553014B (zh) | 多窗口投屏场景下的应用界面显示方法及电子设备 | |
AU2021254610B2 (en) | Managing a plurality of free windows in drop-down menu of notification bar | |
CN114244953B (zh) | 一种界面显示方法、电子设备及存储介质 | |
EP4280058A1 (en) | Information display method and electronic device | |
CN113050851B (zh) | 控制屏幕显示的方法和电子设备 | |
CN111656347B (zh) | 一种项目的显示方法及终端 | |
CN114896097B (zh) | 一种应用程序无响应处理方法及电子设备 | |
CN111656346B (zh) | 一种显示方法及终端 | |
CN111273849A (zh) | 通信终端以及屏幕解锁方法 | |
CN117827044A (zh) | 嵌入式窗口显示方法、装置、电子设备及可读存储介质 | |
CN117827334A (zh) | 应用锁的启动方法、装置、电子设备及可读存储介质 | |
CN117827476A (zh) | 事件处理方法、装置、电子设备及可读存储介质 | |
CN111787157A (zh) | 移动终端及其操作响应方法 | |
CN113760164A (zh) | 显示设备及其控制操作的响应方法 | |
CN115391771B (zh) | 弹窗拦截方法、装置、电子设备及可读存储介质 | |
CN116684516B (zh) | 壁纸设置方法和电子设备 | |
CN111258699B (zh) | 一种页面显示方法及通信终端 | |
CN117785346A (zh) | 界面显示方法和电子设备 | |
WO2023185881A1 (zh) | 应用程序权限管理方法、***及相关装置 | |
WO2024037369A1 (zh) | 应用敏感行为提醒方法、相关装置及通信*** | |
CN117093119A (zh) | 一种应用页面切换方法 | |
CN117632329A (zh) | 显示方法、存储介质及电子设备 | |
CN118055287A (zh) | 一种录屏方法及电子设备 | |
CN116700551A (zh) | 应用显示方法、装置、电子设备及可读存储介质 | |
CN118410478A (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 |