CN111597001A - 一种应用程序显示控制方法、装置、介质和设备 - Google Patents

一种应用程序显示控制方法、装置、介质和设备 Download PDF

Info

Publication number
CN111597001A
CN111597001A CN202010414049.7A CN202010414049A CN111597001A CN 111597001 A CN111597001 A CN 111597001A CN 202010414049 A CN202010414049 A CN 202010414049A CN 111597001 A CN111597001 A CN 111597001A
Authority
CN
China
Prior art keywords
application program
display interface
application
display
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010414049.7A
Other languages
English (en)
Inventor
郑贞杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN202010414049.7A priority Critical patent/CN111597001A/zh
Publication of CN111597001A publication Critical patent/CN111597001A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

本发明涉及一种应用程序显示控制方法、装置、介质和设备。包括:在系统窗口层显示第一应用程序显示界面,在应用窗口层显示第二应用程序的显示界面,由于第一应用程序以及第二应用程序均处于活动状态,可以利用图像合成的方式,在第一应用程序显示界面预留区域中的指定区域,以内嵌的形式显示第二应用程序的显示界面。针对第一应用程序和第二应用程序,均可以实现完全显示,避免了应用程序显示时的遮挡问题。而且,通过图像合成的方式,实现第一应用程序的显示界面和第二应用程序的显示界面的同时显示,第二应用程序可以为任意现有的应用程序,无需对第二应用程序进行任何改进,降低了应用程序的开发难度。

Description

一种应用程序显示控制方法、装置、介质和设备
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序显示控制方法、装置、介质和设备。
背景技术
安卓(Android)系统是一种基于Linux内核的自由及开放源代码的操作系统。近几年随着基于安卓系统的各种终端,如,电视(TV)盒子、显示大屏、平板电脑、手机等的普及和大量使用,市场上大量的基于安卓系统的第三方应用软件(APP)被开发出来。
因此,在基于安卓系统的终端中,往往会包括多个APP。在一个终端中,打开的APP的显示界面一般以全屏的方式显示,在显示时,各APP布局方式采用的是层叠式布局。
所谓层叠式布局,即以垂直于终端显示屏方向形成虚拟的Z轴,从终端显示屏到指向终端显示屏之外的方向,Z轴的坐标值逐步增大。Z轴坐标值最大的APP的显示界面一般会以全屏显示的方式,显示在终端显示屏上,覆盖其他APP的显示界面的显示,且具有接收和响应屏幕触控的权限。
如图1所示,假设同一时刻打开了三个APP,分别用APP1、APP2和APP3表示,如果APP1对应的Z轴坐标值大于APP2对应的Z轴坐标值,APP2对应的Z轴坐标值大于APP3对应的Z轴坐标值,那么APP1的显示界面将会以全屏显示的方式,被显示在终端显示屏上,覆盖APP2的显示界面的显示,而APP3的显示界面的显示则会同时被APP1的显示界面和APP2的显示界面覆盖。APP1具有接收和响应屏幕触控的权限,APP2和APP3则均不具有接收和响应屏幕触控的权限。
这样的布局方式导致安卓系统某一时刻只允许有一个APP处于活动状态。假设某时刻用户正在使用一个APP(假设记为第一APP)的功能,同时又需要使用其它APP(假设记为第二APP)的功能,当选择显示第二APP的显示界面时,第一APP的显示界面会被第二APP的显示界面覆盖,同时接收和响应屏幕触控的权限也会被系统收走,分配给第二APP,第一APP的功能无法得到实现。
为了实现第一APP和第二APP的显示界面同时显示,现有技术主要包括以下两种实现方式:
第一种方式、如图2所示,在显示第一APP的显示界面的同时,在第一APP的显示界面形成一个悬浮按钮,通过悬浮按钮显示第二APP的显示界面。
但在这种方式中,第一APP的显示界面会受到第二APP的显示界面的遮挡,无法实现完全显示。且悬浮按钮层对应的第二APP的显示界面显示在第一APP的显示界面的上端,仅有第二APP具有接收和响应屏幕触控的权限,第一APP仍然不具有接收和响应屏幕触控的权限。
第二种方式、如图3所示,使用Android的分屏功能,将显示屏二分割,一侧显示第一APP的显示界面,另一侧显示第二APP的显示界面。
但在这种方式中,需要分屏显示的每个APP均需要支持分屏功能,增加了APP开发难度。且分屏显示时,每个APP需要对分屏后的画面尺寸进行自适应,进一步加大了APP开发难度。
发明内容
本发明实施例提供一种应用程序显示控制方法、装置、介质和设备,用于解决两个APP显示界面无法同时显示的问题。
本发明提供了一种应用程序显示控制方法,所述方法包括:
若接收到第一应用程序启动请求,在系统窗口层显示第一应用程序的显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;
若在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面;
对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
在一种可能的实现方式中,进行图像合成的所述第一应用程序的显示界面对应的图像,为接收到的第一应用程序发送的所述第一应用程序的显示界面对应的图像,该图像中所述指定区域对应的像素颜色为透明色;
进行图像合成的所述第二应用程序的显示界面对应的图像,为根据接收到的区域信息,对接收到的第二应用程序发送的所述第二应用程序的显示界面对应的图像进行图像处理得到,所述区域信息用于描述所述指定区域的大小和位置。
在一种可能的实现方式中,对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,包括:
根据所述第一应用程序以及所述第二应用程序各自对应的图层,对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成。
在一种可能的实现方式中,所述方法还包括:
接收触点位置信息,根据接收到的区域信息,确定所述触点位置信息对应的触点位置是否属于所述指定区域;
若确定所述触点位置属于所述指定区域,将所述触点位置转换为所述第二应用程序对应的目标触点位置;
将所述目标触点位置对应的目标触点位置信息发送给所述第二应用程序,以便所述第二应用程序根据所述目标触点位置,响应触摸操作。
在一种可能的实现方式中,所述方法还包括:
接收更新的区域信息;
根据更新的区域信息,对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在更新后的指定区域实现所述第二应用程序的显示界面的显示。
在一种可能的实现方式中,所述方法还包括:
若接收到指定区域录屏请求,根据接收到的区域信息,对所述指定区域显示的所述第二应用程序的显示界面进行录屏操作。
本发明还提供了一种应用程序显示控制方法,所述方法包括:
若接收到第一应用程序启动请求,向系统层发送所述第一应用程序启动请求,以便系统层根据所述第一应用程序启动请求,在系统窗口层显示第一应用程序显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;
若在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,向系统层发送所述第二应用程序启动请求,以便系统层根据所述第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面,并对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
在一种可能的实现方式中,所述方法还包括:
将所述第一应用程序的显示界面对应的图像中,指定区域对应的像素颜色混合为透明色后,发送给系统层,作为系统层进行图像合成的第一应用程序的显示界面对应的图像。
在一种可能的实现方式中,所述方法还包括:
若接收到触摸操作,确定所述触摸操作对应的触点位置;
向系统层发送所述触点位置对应的触点位置信息。
在一种可能的实现方式中,所述方法还包括:
接收指定区域更新请求,所述指定区域更新请求中包括所述指定区域对应的更新的区域信息;
向系统层发送所述更新的区域信息。
本发明还提供了一种应用程序显示控制装置,所述装置包括:
通信模块,用于接收第一应用程序启动请求,以及在所述第一应用程序的显示界面中,接收第二应用程序启动请求;
显示控制模块,用于若所述通信模块接收到第一应用程序启动请求,在系统窗口层显示第一应用程序的显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;若所述通信模块在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面;以及,对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
在一种可能的实现方式中,所述装置还包括图像处理模块:
所述图像处理模块用于根据所述通信模块接收到的区域信息,对所述通信模块接收到的第二应用程序发送的所述第二应用程序的显示界面对应的图像进行图像处理,得到所述显示控制模块进行图像合成的第二应用程序的显示界面对应的图像,所述区域信息用于描述所述指定区域的大小和位置;
所述显示控制模块进行图像合成的第一应用程序的显示界面对应的图像,为所述通信模块接收到的第一应用程序发送的所述第一应用程序的显示界面对应的图像,该图像中所述指定区域对应的像素颜色为透明色。
在一种可能的实现方式中,所述显示控制模块用于对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成,包括:
根据所述第一应用程序以及所述第二应用程序各自对应的图层,对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成。
在一种可能的实现方式中,所述通信模块还用于接收触点位置信息;
所述装置还包括判断模块和触点转换转发模块:
所述判断模块用于根据接收到的区域信息,确定所述触点位置信息对应的触点位置是否属于所述指定区域;若确定所述触点位置属于所述指定区域,触发所述触点转换转发模块;
所述触点转换转发模块用于将所述触点位置转换为所述第二应用程序对应的目标触点位置;将所述目标触点位置对应的目标触点位置信息发送给所述第二应用程序,以便所述第二应用程序根据所述目标触点位置,响应触摸操作。
在一种可能的实现方式中,所述通信模块还用于接收更新的区域信息;
所述显示控制模块还用于根据更新的区域信息,对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面更新后的指定区域中实现所述第二应用程序的显示。
在一种可能的实现方式中,所述通信模块还用于接收指定区域录屏请求;
所述装置还包括录屏模块:
所述录屏模块用于若所述通信模块接收到指定区域录屏请求,根据接收到的区域信息,对所述指定区域显示的所述第二应用程序的显示界面进行录屏操作。
本发明还提供了一种应用程序显示控制装置,所述装置包括通信模块,其中:
所述通信模块,用于若接收到第一应用程序启动请求,向系统层发送所述第一应用程序启动请求,以便系统层根据所述第一应用程序启动请求,在系统窗口层显示第一应用程序显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;以及,
若在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,向系统层发送所述第二应用程序启动请求,以便系统层根据所述第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面,并对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
在一种可能的实现方式中,所述装置还包括窗口管理模块:
所述窗口管理模块用于确定第一应用程序的显示界面对应的图像,将第一应用程序的显示界面对应的图像中,指定区域对应的像素颜色混合为透明色,以及确定区域信息,指示所述通信模块将所述区域信息发送给系统层,作为系统层进行图像合成的第一应用程序的显示界面对应的图像。
在一种可能的实现方式中,所述通信模块还用于若接收到触摸操作,确定所述触摸操作对应的触点位置;向系统层发送所述触点位置对应的触点位置信息。
在一种可能的实现方式中,所述通信模块还用于接收指定区域更新请求,所述指定区域更新请求中包括所述指定区域对应的更新的区域信息;向系统层发送所述更新的区域信息。
本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现如上所述的方法。
本发明还提供了一种应用程序显示控制设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现如上所述的方法步骤。
根据本发明实施例提供的方案,可以在系统窗口层显示第一应用程序显示界面,在应用窗口层显示第二应用程序的显示界面,由于显示在系统窗口层的第一应用程序以及显示在应用窗口层的第二应用程序均处于活动状态,第一应用程序和第二应用程序均对应一个显示界面图像,因此可以对第一应用程序对应的显示界面图像以及第二应用程序对应的显示界面图像进行图像合成,利用合成得到的图像,在第一应用程序显示界面预留区域中的指定区域,以内嵌的形式显示第二应用程序的显示界面。通过第二应用程序的显示界面在第一应用程序的显示界面中预留的区域中显示,针对第一应用程序和第二应用程序,均可以实现完全显示,避免了应用程序显示时的遮挡问题。而且,通过图像合成的方式,实现第一应用程序的显示界面和第二应用程序的显示界面的同时显示,第二应用程序可以为任意现有的应用程序,无需对第二应用程序进行任何改进,降低了应用程序的开发难度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的层叠式布局的示意图;
图2为现有技术提供的通过悬浮按钮实现的两个APP同时显示的示意图;
图3为现有技术提供的通过分屏实现的两个APP同时显示的示意图;
图4为本发明实施例一提供的应用程序显示控制方法的流程示意图;
图5为本发明实施例一提供的通过内嵌实现的两个APP同时显示的显示界面示意图;
图6为本发明实施例二提供的图像合成的方法流程图;
图7为本发明实施例二提供的图像合成过程示意图;
图8为本发明实施例三提供的触点转换转发的方法流程图;
图9为本发明实施例三提供的触点转换转发过程示意图;
图10为本发明实施例四提供的应用程序显示控制方法的流程示意图;
图11为本发明实施例四提供的通过内嵌实现的两个APP同时显示的系统层和应用层的交互示意图;
图12为本发明实施例五提供的应用程序显示控制装置的结构示意图;
图13为本发明实施例六提供的应用程序显示控制装置的结构示意图;
图14为本发明实施例七提供的应用程序显示控制设备的结构示意图。
具体实施方式
针对现有的实现两个APP同时显示的方案存在的这样或那样的问题,本发明实施例提供一种新型的第三方APP内嵌方式实现的两个APP同时显示的方案。
目前,在Android系统中,应用程序显示界面显示在应用窗口层,应用窗口层可以理解为窗口层级类型为TYPE_APPLICATION类型的窗口层,且应用窗口层对应的Z轴坐标值取值范围为21000~22000,显示在应用窗口层的各个应用程序,只有Z轴坐标值最大的应用程序处于活动状态。处于活动状态的APP可以负责绘制自己对应的显示界面图像,绘制完成后发送给系统层,系统层将活动的APP发送的显示界面图像显示到屏幕上。
为了实现两个APP的显示界面的同时显示,本发明提供的方案中,可以在系统窗口层实现一个活动的APP,系统窗口层可以理解为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层,且系统窗口层对应的Z轴坐标值取值范围为111000~121000,从而可以结合在应用窗口层实现的活动的APP,使得同一时刻可以有两个活动的APP,从而可以通过对每个活动的APP绘制的显示界面图像的图像合成,使得在屏幕上可以同时实现两个APP显示界面的显示。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
本发明实施例一提供一种应用程序显示控制方法,该方法可以应用于系统层,步骤流程可以如图4所示,包括:
步骤101、接收第一应用程序启动请求。
在本步骤中,可以接收第一应用程序启动请求,并可以在接收到第一应用程序启动请求时,继续执行步骤102。
接收到的第一应用程序启动请求可以理解为是第一应用程序(可以理解为属于应用层)发送的。在一种可能的实现方式中,第一应用程序可以接收用户输入的第一应用程序启动请求,并向系统层发送该第一应用程序启动请求。
步骤102、显示第一应用程序的显示界面。
在本步骤中,可以根据接收到的第一应用程序启动请求,启动第一应用程序,在系统窗口层显示第一应用程序的显示界面。
可以理解为,所述第一应用程序启动请求中携带第一应用程序标识,可以根据第一应用程序标识,在系统窗口层显示对应的第一应用程序的显示界面。
在系统窗口层显示第一应用程序的显示界面,可以理解为将第一应用程序的显示界面对应的窗口层级类型设置为Z轴坐标值取值范围为111000~121000的TYPE_SYSTEM_WINDOW类型。
在本实施例中,可以对第一应用程序的显示界面的显示进行改进,在系统窗口层显示第一应用程序的显示界面,可以理解为将第一应用程序的显示界面置顶显示。这样,在通过现有方式在应用窗口层显示任意的其它应用程序的显示界面时,第一应用程序的显示界面均不会被覆盖。
步骤103、接收第二应用程序启动请求。
在本步骤中,可以在第一应用程序的显示界面中,接收第一应用程序对应的第二应用程序启动请求,若接收到第二应用程序启动请求,则可以继续执行步骤104。
接收到的第二应用程序启动请求可以理解为是第一应用程序发送的。在一种可能的实现方式中,第一应用程序可以接收用户输入的第二应用程序启动请求,并向系统层发送该第二应用程序启动请求。
在一种可能的实现方式中,第二应用程序启动请求可以通过对第一应用程序的显示界面中的应用程序启动选项的选择触发。应用程序启动选项可以设置在第一应用程序的显示界面中任意不属于预留区域的位置。
预留区域可以理解为第一应用程序的显示界面中,预留的用于实现第二应用程序的显示界面的显示的区域,也就是说,在第一应用程序的显示界面中,可以预留一部分空白区域,用于实现第二应用程序的显示界面的显示。
步骤104、实现第二应用程序的显示界面的内嵌显示。
在本步骤中,若接收到第一应用程序对应的第二应用程序启动请求,可以启动第二应用程序,在应用窗口层显示第二应用程序的显示界面。
并可以对第二应用程序的显示界面对应的图像以及第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在第一应用程序显示界面的指定区域中实现第二应用程序的显示界面的显示,指定区域为第一应用程序的显示界面预留区域中的至少一部分区域,此时可以理解为从预留区域中默认选择的至少一部分区域,从而在第一应用程序显示界面预留区域中实现第二应用程序的显示界面的内嵌显示。
在应用窗口层显示第二应用程序的显示界面,可以理解为将第二应用程序的显示界面对应的窗口层级类型设置为Z轴坐标值取值范围为21000~22000的TYPE_APPLICATION类型。
其中,若接收到第一应用程序对应的第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面,可以理解为,第二应用程序启动请求中携带第二应用程序标识,可以根据第二应用程序标识,按照现有方式,在应用窗口层显示第二应用程序的显示界面。
也就是说,可以按照现有方式,在应用窗口层为第二应用程序分配Z轴坐标值,实现第二应用程序的显示界面的显示,此时,在应用窗口层为第二应用程序分配的Z轴坐标值最大,第二应用程序的显示界面的显示会覆盖任意之前通过现有方式实现的其它应用程序的显示界面在应用窗口层的显示(按照现有方式,在应用窗口层为应用程序分配Z轴坐标值,实现应用程序的显示界面的显示,可以理解为,为应用程序分配的Z轴坐标值属于现有技术中设定的在应用窗口层,应用程序可用的Z轴坐标值范围)。但是,由于在步骤102中显示的第一应用程序显示界面,显示在系统窗口层,因此,第二应用程序显示界面的显示会被第一应用程序显示界面覆盖。
此时,处于系统窗口层的第一应用程序和处于应用窗口层的第二应用程序均处于活动状态,两个APP可以各自负责绘制自己对应的显示界面图像,绘制完成后发送给系统层。根据对应的Z轴坐标值,每个APP绘制的显示界面图像在系统层会对应一个图层(Layer),系统层可以根据每个APP绘制的显示界面图像对应的透明区域、半透明区域等信息,将所有APP对应的显示界面图像进行合成处理,合成完毕后将最终的图像显示到屏幕上。
也就是说,对第二应用程序的显示界面对应的图像以及第一应用程序的显示界面对应的图像,进行图像合成,可以理解为包括:
根据第一应用程序以及第二应用程序各自对应的图层,对第二应用程序的显示界面对应的图像以及第一应用程序的显示界面对应的图像,进行图像合成。
在一种可能的实现方式中,进行图像合成的第一应用程序的显示界面对应的图像,为接收到的第一应用程序发送的第一应用程序的显示界面对应的图像,该图像中指定区域对应的像素颜色为透明色;
进行图像合成的第二应用程序的显示界面对应的图像,为根据接收到的区域信息,对接收到的第二应用程序发送的第二应用程序的显示界面对应的图像进行图像处理,例如图像缩放和/或图像平移得到,区域信息用于描述指定区域的大小和位置。
可以理解为,系统层可以根据第一应用程序以及第二应用程序各自对应的图层,根据第二应用程序对应的图层位于第一应用程序对应的图层之下(第二应用程序对应的Z轴坐标值小于第一应用程序对应的Z轴坐标值),确定需要对第二应用程序对应的图像进行处理,进而可以根据接收到的区域信息,对接收到的第二应用程序发送的第二应用程序的显示界面对应的图像进行图像处理,例如,图像缩放和/或图像平移;
并将对进行图像处理,例如,图像缩放和/或图像平移后的图像、以及打洞后的图像进行合成,将合成的图像显示在屏幕上,从而在第一应用程序的显示界面中的指定区域实现第二应用程序显示界面的内嵌显示。
即,为了实现第二应用程序的显示界面在第一应用程序的显示界面的嵌入式显示,可以在第一应用程序的显示界面上打洞,再通过图像合成,将第二应用程序的显示界面内嵌在第一应用程序的显示界面上进行显示。
在图像合成过程中,系统层可以接收第一应用程序发送的第一应用程序的显示界面对应的图像。为了实现第二应用程序的显示界面的内嵌显示,在本实施例中,第一应用程序可以将第一应用程序的显示界面对应的图像中,指定区域对应的像素颜色混合为透明色,即执行打洞操作,并将指定区域对应的像素颜色为透明色的图像发送给系统层。
在图像合成过程中,系统层还可以接收第二应用程序(可以理解为属于应用层)发送的第二应用程序的显示界面对应的图像。为了实现第二应用程序的显示界面的内嵌显示,在本实施例中,系统层可以根据接收到的指定区域对应的区域信息,对接收到的第二应用程序发送的第二应用程序对应的图像进行图像处理,例如,图像缩放和/或图像平移,使得进行图像处理后的图像的大小和位置可以与指定区域相匹配。
另外,需要说明的是,针对第一应用程序的显示界面对应的图像,仅在指定区域进行打洞,执行图像合成后,未被打洞的其它区域的显示不会发生变化。
而由于第一应用程序的显示界面显示在系统窗口层,因此,即使在指定区域中实现了第二应用程序显示界面的显示,也只有第一应用程序具有接收和响应屏幕触控的权限。在发生了触摸事件后,标准触控流程只会将触点位置分发到第一应用程序,第二应用程序无法接收到触点位置,无法响应触摸事件。
针对这一问题,进一步的,在本实施例中,还可以使得在第一应用程序的显示界面上,第二应用程序也可以接收和响应屏幕触控。此时,本实施例还可以进一步包括:
步骤105、确定触点位置所在区域。
在本步骤中,可以接收触点位置信息,并可以根据接收到的区域信息,确定触点位置信息对应的触点位置是否属于指定区域。如果确定触点位置属于指定区域,可以继续执行步骤106。
当然,如果确定触点位置不属于指定区域,那么可以按照现有流程,由第一应用程序根据触点位置,响应触摸操作。
需要说明的是,系统层接收到的触点位置信息可以是第一应用程序接收触摸操作,并将触摸操作对应的触点位置通过触点位置信息发送给系统层的。
步骤106、进行触点转换转发。
在本步骤中,如果确定触点位置属于指定区域,可以将触点位置转换为第二应用程序对应的目标触点位置,并可以将转换得到的目标触点位置对应的目标触点位置信息发送给第二应用程序,以便第二应用程序根据目标触点位置,响应触摸操作。
在本步骤中,可以理解为,将进行图像处理,如,图像缩放和/或图像平移得到的第二应用程序的显示界面对应的图像中的触点位置,转换为接收到的第二应用程序发送的原始的第二应用程序显示界面对应的图像中的目标触点位置。将目标触点位置发送给第二应用程序,第二应用程序即可以根据目标触点位置,响应触摸操作。例如,第二应用程序可以根据目标触点位置,响应触摸操作,实现翻页、关闭第二应用程序等操作。
需要说明的是,在第一应用程序显示界面中的指定区域实现了第二应用程序的显示界面的显示之后,若在第一应用程序的显示界面中,接收到第一应用程序对应的第三应用程序启动请求,可以启动第三应用程序,在应用窗口层显示第三应用程序的显示界面,并可以对第三应用程序的显示界面对应的图像以及第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在第一应用程序显示界面中的指定区域实现第三应用程序的显示界面的显示。
接收到的第三应用程序启动请求可以理解为是第一应用程序发送的。在一种可能的实现方式中,第一应用程序可以接收用户输入的第三应用程序启动请求,并向系统层发送该第三应用程序启动请求。
在一种可能的实现方式中,第三应用程序启动请求也可以通过对第一应用程序的显示界面中的应用程序启动选项的选择触发。
可以理解为,如果在第一应用程序显示界面中的指定区域实现了第二应用程序的显示界面的显示之后,又接收到第一应用程序对应的第三应用程序启动请求,则可以启动第三应用程序。
可以理解为,第三应用程序启动请求中携带第三应用程序标识,可以根据第三应用程序标识,按照现有方式,在应用窗口层显示第三应用程序的显示界面。
也就是说,可以按照现有方式,在应用窗口层为第三应用程序分配Z轴坐标值,实现第三应用程序的显示界面的显示,此时,在应用窗口层为第三应用程序分配的Z轴坐标值最大,第三应用程序的显示界面的显示会覆盖任意之前通过现有方式实现的其它应用程序的显示界面在应用窗口层的显示(包括第二应用程序的显示界面的显示)。但是,由于在步骤102中显示的第一应用程序显示界面,显示在系统窗口层,因此,第三应用程序显示界面的显示会被第一应用程序显示界面覆盖。
此时,与在第一应用程序的显示界面中的指定区域实现第二应用程序的显示界面的显示类似的,可以在第一应用程序的显示界面中的指定区域实现第三应用程序的显示界面的显示。
即在应用窗口层显示第三应用程序的显示界面之后,可以根据接收到的区域信息,对接收到的第三应用程序的显示界面对应的图像进行图像处理,例如,图像缩放和/或图像平移;
根据第一应用程序以及第三应用程序各自对应的图层,对接收到的第一应用程序发送的第一应用程序的显示界面对应的图像、以及进行图像处理得到的第三应用程序的显示界面对应的图像进行图像合成,利用合成得到的图像,在指定区域实现第三应用程序显示界面的显示,其中,接收到的第一应用程序的显示界面对应的图像中,第一应用程序显示界面中的指定区域对应的像素颜色为透明色。
另外需要说明的是,在本实施例中,还可以在预留区域中,对指定区域的大小和/或位置进行更新,并可以在更新后的指定区域中进行第二应用程序显示界面的显示。在更新后的指定区域中进行第二应用程序显示界面的显示,与在默认选择的指定区域中进行第二应用程序显示界面的显示类似,可以包括:
系统层接收更新的区域信息;
根据更新的区域信息,对第二应用程序的显示界面对应的图像以及第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在更新后的指定区域实现第二应用程序的显示界面的显示。
其中,用于图像合成的第一应用程序的显示界面对应的图像,可以为接收到的第一应用程序发送的第一应用程序的显示界面对应的图像,该图像中更新后的指定区域对应的像素颜色为透明色;
用于图像合成的第二应用程序的显示界面对应的图像,可以为根据接收到的更新的区域信息,对接收到的第二应用程序发送的第二应用程序的显示界面对应的图像进行图像处理,例如,图像缩放和/或图像平移得到。
系统层接收到的更新的区域信息,可以是第一应用程序接收用户输入的指定区域更新请求,该更新请求中包括指定区域对应的更新的区域信息,并向系统层发送的更新的区域信息。
当然,如果指定区域中显示的是第三应用程序的显示界面,那么还可以在更新后的指定区域中进行第三应用程序显示界面的显示。
另外需要说明的是,在本实施例中,若接收到指定区域录屏请求,还可以根据接收到的区域信息,对指定区域显示的第二应用程序的显示界面进行录屏操作,当然,如果指定区域显示的是第三应用程序的显示界面,也可以对指定区域显示的第三应用程序的显示界面进行录屏操作。
进行录屏操作后,可以将录屏得到的指定区域中的画面推送给其他设备进行视频播放。需要说明的是,在第一应用程序显示界面中,非指定区域中的操作不会影响对指定区域的录屏操作,适用于远程教学等场景。
通过内嵌实现的两个APP同时显示的显示界面示意图可以如图5所示。在一种可能的实现方式中,可以假设实施例一提供的方案中,第一APP为画板,第二APP为WPS办公软件。
按照现有技术,无法在使用画板功能的同时,使用WPS办公软件功能去浏览一些文档,如PPT文档或WORD文档。如果需要将文档内容记录到画板中,需要在画板和WPS办公软件之间来回切换,以实现将文档内容记录到画板中。
而按照实施例一提供的方案,可以在显示画板的显示界面的同时,将WPS办公软件的显示界面内嵌到画板的显示界面中预留的区域进行显示,这样,可以同时实现画板功能和WPS办公软件功能,而不必来回切换应用程序。
另外,按照实施例一提供的方案,不仅支持WPS办公软件在预留区域的显示和操作,还可以退出WPS办公软件,选择其它应用程序,在预留区域进行显示和操作。
根据本发明实施例一所提供的方案,可以实现第三方APP(可以理解为第二APP,也可以理解为第三APP)显示界面的以内嵌小窗口的形式采用最佳分辨率显示在自行开发的APP(可以理解为第一APP)的显示界面上,由于采用内嵌而非悬浮的方式,所以不存在画面遮挡的问题,同时能够响应用户的触摸操作,以此来达到无需切换APP显示界面,即可以在自行开发的APP的显示界面的小窗口内操作第三方APP的效果,且小窗口在预留区域内可任意位置、任意大小。
另外,将现有的第三方APP的功能集成到自行开发的APP中,减少了APP的开发成本,能在自行开发的APP的基础上,内嵌各式各样复杂的第三方APP,避免大量重复功能开发。
本发明实施例一所提供的方案中,可以通过图像处理,例如图像缩放和/或图像平移技术解决第三方APP显示界面显示时的分辨率兼容问题,并可以通过触点转换转发,使第三方APP被触摸时能够正确地响应触摸操作。
本发明实施例一所提供的方案中,在实现第三方APP显示界面的显示,以及使得第三方APP具有接收和响应屏幕触控的权限的同时,不会影响自行开发的APP的性能,在显示和触控方面主要沿用标准的显示和分发流程,不会引进画面显示延迟和触控延迟等问题。
下面对实施例一步骤104涉及的图像合成过程进行具体说明。在一种可能的实现方式中,在系统层,图像合成可以基于系统层的功能模块-图层管理者(SurfaceFlinger)来实现。下面以基于图层管理者(SurfaceFlinger)来实现图像合成为例进行说明。
实施例二
本发明实施例二提供一种图像合成方法,该方法的步骤流程可以如图6所示,包括:
步骤201、接收图像。
在本步骤中,SurfaceFlinger可以接收第一应用程序(可以理解为第一应用程序进程,也可以理解为应用层)发送的第一应用程序的显示界面对应的图像,并可以接收第二应用程序(可以理解为第二应用程序进程,也可以理解为应用层)发送的第二应用程序的显示界面对应的图像。
步骤202、确定图层。
在本步骤中,SurfaceFlinger可以根据各应用程序对应的Z轴坐标值,确定各应用程序对应的图层,由于第一应用程序对应的Z轴坐标值必然大于第二应用程序对应的Z轴坐标值,第一应用程序对应的图层可以理解为位于第二应用程序对应的图层之上。
步骤203、进行图像处理。
在本实施例中,为了实现第二应用程序显示界面在第一应用程序显示界面上的内嵌显示,第一应用程序会在第一应用程序显示界面上的指定区域打洞,将指定区域对应的像素颜色混合为透明色,也就是说,SurfaceFlinger接收到的第一应用程序的显示界面对应的图像中,指定区域为透明区域。
此外,由于确定出第一应用程序对应的图层位于第二应用程序对应的图层之上,为了实现第二应用程序显示界面在第一应用程序显示界面上的内嵌显示,还需要在进行图像合成之前,将接收到的第二应用程序的显示界面对应的图像进行图像处理,使得处理后得到的图像与指定区域的大小和位置匹配。也就是说,SurfaceFlinger还需要根据接收到的区域信息,对接收到的第二应用程序对应的图像进行图像处理,例如,图像缩放和/或图像平移。
在一种可能的实现方式中,SurfaceFlinger接收到的区域信息可以表示为[x,y,width,height],其中,x,y可以是指定区域某个顶点的横坐标和纵坐标,width,height可以是指定区域的宽度和高度。
在一种可能的实现方式中,区域信息可以是第一应用程序在启动后,向SurfaceFlinger发送的。
在本发明方案中,由于由系统层对第二应用程序发送的图像进行图像处理,例如,图像缩放和/或图像平移,对于第二应用程序来说是不可感知的,第二应用程序侧不需要做任何额外的改变即可以自动兼容该功能,无需对第二应用程序进行改进,避免增加第二应用程序的开发难度。
步骤204、进行图像合成。
由于第一应用程序对应的图层位于第二应用程序对应的图层之上,在本步骤中,可以根据第一应用程序以及第二应用程序各自对应的图层,对接收到的第一应用程序的显示界面对应的图像、以及进行图像处理,例如,图像缩放和/或图像平移得到的第二应用程序的显示界面对应的图像进行图像合成,图像合成可以通过安卓标准的图像合成流程来实现。
合成后得到的图像中,第一应用程序的显示界面对应的图像中的透明区域,被第二应用程序的显示界面对应的图像填充。
将合成后得到的图像进行显示,即可以在第一应用程序的显示界面中,在指定区域实现第二应用程序显示界面的显示。
图像合成过程示意图可以如图7所示。图像合成过程中,可以理解为在SurfaceFlinger进行图像合成的过程中,增加了图像处理模块,由图像处理模块对接收到的第二应用程序的显示界面对应的图像进行图像处理,例如图像缩放和/或图像平移,得到与指定区域的大小和位置匹配的图像,进而SurfaceFlinger可以对接收到的第一应用程序的显示界面对应的图像、以及进行图像处理得到的第二应用程序的显示界面对应的图像进行图像合成,实现第二应用程序显示界面在应用程序的显示界面中的指定区域的内嵌显示。
需要说明的是,SurfaceFlinger接收到第一应用程序的显示界面对应的图像以及第二应用程序的显示界面对应的图像后,可以调用OPENGL分别生成对应的纹理图像,对接收到的第二应用程序的显示界面对应的图像进行图像处理,可以理解为对对应的纹理图像进行图像处理,进一步的,在进行图像合成时,可以理解为通过安卓标准图像合成流程,对对应的纹理图像进行合成。
另外需要说明的是,如果第二应用程序还包括一些相关的系统应用,例如,输入法或者窗口过渡动画等,那么在第一应用程序对应的图层和第二应用程序对应的图层之间,还存在其他与第二应用程序相关的系统应用对应的显示界面的图像所对应的图层,例如,输入法对应的显示界面的图像所对应的图层,或者窗口过渡动画对应的显示界面的图像所对应的图层等等。
那么SurfaceFlinger针对第一应用程序对应的图层和第二应用程序对应的图层之间的每个图层(可以简单记为中间图层),也可以调用OPENGL生成对应的纹理图像。
在图像合成之前,在对第二应用程序的显示界面对应的图像(可以理解为对应的纹理图像)进行图像处理的过程中,还可以根据接收到的区域信息,针对每个与第二应用程序相关的系统应用对应的显示界面的图像(也可以理解为对应的纹理图像)进行图像处理,以保证可以按照原始的每个系统应用的显示界面在第二应用程序显示界面上的显示比例,在指定区域实现每个系统应用的显示界面在第二应用程序的显示界面的显示。
当然,如果在第一应用程序对应的图层和第二应用程序对应的图层之间,还存在其他与第二应用程序相关的系统应用对应的显示界面的图像所对应的图层,那么进行图像合成时,可以理解为对所有图层对应的图像(可以理解为对应的纹理图像)进行合成。
下面对实施例一步骤105~步骤106涉及的触点转换转发过程进行具体说明。在一种可能的实现方式中,在系统层,触点转换转发可以基于系统层的功能模块-触点管理者(InputServiceManager)来实现。下面以基于触点管理者(InputServiceManager)来实现触点转换转发为例进行说明。
实施例三
本发明实施例三提供一种触点转换转发方法,该方法的步骤流程可以如图8所示,包括:
步骤301、接收触点位置信息。
在本步骤中,InputServiceManager可以接收第一应用程序(可以理解为应用层)发送的触点位置信息。
步骤302、确定触点位置所在区域。
在本步骤中,InputServiceManager可以根据接收到的区域信息,确定触点位置信息对应的触点位置是否属于指定区域。如果确定属于,则可以继续执行步骤303,否则,无需执行后续步骤。
可以理解为,如果确定触点位置信息对应的触点位置不属于指定区域,认为触点位置对应的触摸操作对应第一应用程序,无需执行后续步骤,使得第一应用程序可以按照现有流程,正常响应触摸操作。
在一种可能的实现方式中,区域信息可以是第一应用程序在启动后,向InputServiceManager发送的。区域信息的接收可以但不限于在步骤301之前。
步骤303、进行触点位置转换。
在本步骤中,InputServiceManager还可以根据触点位置,确定出目标触点位置需要转发到的目标应用程序,即,InputServiceManager还可以根据触点位置属于指定区域,根据指定区域对应的图层对应第二应用程序的显示界面的图像,确定出目标触点位置需要转发到的目标应用程序为第二应用程序。
进一步地,InputServiceManager可以将进行图像处理,例如,图像缩放和/或图像平移得到的第二应用程序的显示界面对应的图像中的触点位置,转换为第二应用程序原始显示界面对应的图像中的目标触点位置。
需要说明的是,如果第二应用程序还包括一些相关的系统应用,例如,输入法或者窗口过渡动画等,那么本步骤中,InputServiceManager还可以进一步确定触点位置是否属于某个指定子区域,可以根据指定子区域对应的图层对应的系统应用的显示界面的图像,确定出某个系统应用为目标触点位置需要转发到的目标应用程序。
进一步地,可以根据触点位置所在的指定子区域对应的系统应用,将触点位置转换为该系统应用对应的目标触点位置,以便将转换得到的目标触点位置发送给该系统应用。
当然,如果确定触点位置属于指定区域,但不属于各个指定子区域,那么InputServiceManager可以将触点位置转换为第二应用程序对应的目标触点位置,以便将转换得到的目标触点位置发送给第二应用程序。
步骤304、进行目标触点位置信息转发。
在本步骤中,如果确定出目标触点位置需要转发到的目标应用程序为第二应用程序,可以将转换得到的目标触点位置对应的目标触点位置信息,转发到确定出的目标应用程序,即第二应用程序,使得第二应用程序可以按照安卓标准触点响应流程,响应触摸操作。
当然,如果第二应用程序还包括一些相关的系统应用,且确定出的目标应用程序,为第二应用程序关联的某个系统应用,那么,在本步骤中,可以将转换得到的目标触点位置对应的目标触点位置信息,转发到确定出的系统应用,使得该系统应用可以按照安卓标准触点响应流程,响应触摸操作。
触点转换转发过程示意图可以如图9所示。触点转换转发过程中,可以理解为在InputServiceManager中增加了触点转换转发模块。如果确定触点位置信息对应的触点位置属于指定区域,可以由触点转换转发模块将触点位置转换为目标触点位置,并转发给目标应用程序,例如,第二应用程序,通过触点位置的复制转换分发,使得第二应用程序也具有接收和响应屏幕触控的权限,达到可交互的目的。
当然,如图9所示,如果确定触点位置信息对应的触点位置不属于指定区域,InputServiceManager还可以按照安卓标准的触点位置发送流程,将触点位置对应的触点位置信息直接发送给第一应用程序。
与实施例一提供的方法对应的,提供以下的方法、装置。
实施例四
本发明实施例四提供一种应用程序显示控制方法,该方法可以应用于应用层(也可以理解为第一应用程序),该方法的步骤流程可以如图10所示,包括:
步骤401、接收第一应用程序启动请求。
在本步骤中,可以接收第一应用程序启动请求,若接收到,则可以继续执行步骤402。
步骤402、向系统层发送第一应用程序启动请求。
在本步骤中,可以向系统层发送接收到的第一应用程序启动请求。以便系统层根据第一应用程序启动请求,在系统窗口层显示第一应用程序显示界面。
步骤403、接收第二应用程序启动请求。
在本步骤中,可以在所述第一应用程序的显示界面中,接收第一应用程序对应的第二应用程序启动请求。若接收到,则可以继续执行步骤404。
步骤404、向系统层发送相关信息。
在本步骤中,可以向系统层发送接收到的第二应用程序启动请求。以便系统层根据第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面,并对第二应用程序的显示界面对应的图像以及第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在第一应用程序显示界面的指定区域中实现第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
在一种可能的实现方式中,还可以将第一应用程序的显示界面对应的图像中,指定区域对应的像素颜色混合为透明色后,发送给系统层,作为系统层进行图像合成的第一应用程序的显示界面对应的图像。
进行图像合成的第二应用程序的显示界面对应的图像,可以为系统层根据接收到的区域信息,对接收到的第二应用程序发送的第二应用程序的显示界面对应的图像进行图像处理得到,区域信息用于描述指定区域的大小和位置。
向系统层发送区域信息,可以包括在本步骤中,当然,向系统层发送区域信息,也可以在本步骤之前执行。
进一步的,本实施例还可以进一步包括以下步骤:
步骤405、接收触摸操作。
在本步骤中,可以接收触摸操作,如果接收到,则可以继续执行步骤406。
步骤406、发送触点位置信息。
若接收到触摸操作,在本步骤中,可以确定触摸操作对应的触点位置,并向系统层发送触点位置对应的触点位置信息。
另外,在本实施例中,在一种可能的实现方式中,还可以在所述第一应用程序的显示界面中,接收第一应用程序对应的第三应用程序启动请求,若接收到,则可以向系统层发送第三应用程序启动请求。
在一种可能的实现方式中,还可以接收指定区域更新请求,指定区域更新请求中包括指定区域对应的更新的区域信息,并向系统层发送更新的区域信息。
此外,在一种可能的实现方式中,还可以接收指定区域录屏请求,并向系统层发送指定区域录屏请求。
在本发明方案中,系统层和应用层之间可以采用C-S架构,系统层作为服务端,应用层作为客户端,应用程序显示控制过程示意图可以如图11所示。
可以理解为,在应用层增加窗口管理模块来确定指定区域(可以理解为内嵌区域)的大小和位置,并在指定区域进行必要的打洞操作。窗口管理模块还可以用于确定触点位置。另外,可以理解为在应用层增加了通信模块,以实现与系统层之间的通信。
在系统层也可以增加通信模块,以实现与应用层的通信。并可以在系统层增加图像处理模块,对第三方APP对应的显示界面的图像进行图像处理,以与指定区域的大小和位置匹配,以针对处理后的图像进行图像合成。另外,在系统层还可以增加触点转换转发模块,配合应用层的窗口管理模块实现触点位置的转换转发。
下面,与实施例一~四基于同一发明构思,提供以下的装置、介质和设备。
实施例五
本发明实施例五提供一种应用程序显示控制装置,该装置可以应用于系统层,该装置的结构可以如图12所示,包括:
通信模块11用于接收第一应用程序启动请求,以及在所述第一应用程序的显示界面中,接收第二应用程序启动请求;
显示控制模块13用于若所述通信模块接收到第一应用程序启动请求,在系统窗口层显示第一应用程序的显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;若所述通信模块在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面;以及,对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
在一种可能的实现方式中,所述装置还包括图像处理模块12:
所述图像处理模块12用于根据所述通信模块接收到的区域信息,对所述通信模块接收到的第二应用程序发送的所述第二应用程序的显示界面对应的图像进行图像处理,得到所述显示控制模块13进行图像合成的第二应用程序的显示界面对应的图像,所述区域信息用于描述所述指定区域的大小和位置;
所述显示控制模块13进行图像合成的第一应用程序的显示界面对应的图像,为所述通信模块接收到的第一应用程序发送的所述第一应用程序的显示界面对应的图像,该图像中所述指定区域对应的像素颜色为透明色。
在一种可能的实现方式中,所述显示控制模块13用于对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成,包括:
根据所述第一应用程序以及所述第二应用程序各自对应的图层,对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成。
在一种可能的实现方式中,所述通信模块11还用于接收触点位置信息;
所述装置还包括判断模块14和触点转换转发模块15:
所述判断模块14用于根据接收到的区域信息,确定所述触点位置信息对应的触点位置是否属于所述指定区域;若确定所述触点位置属于所述指定区域,触发所述触点转换转发模块;
所述触点转换转发模块15用于将所述触点位置转换为所述第二应用程序对应的目标触点位置;将所述目标触点位置对应的目标触点位置信息发送给所述第二应用程序,以便所述第二应用程序根据所述目标触点位置,响应触摸操作。
在一种可能的实现方式中,所述通信模块11还用于接收所述第一应用程序对应的第三应用程序启动请求;
所述显示控制模块13还用于若所述通信模块在所述第一应用程序的显示界面中,接收到第三应用程序启动请求,在应用窗口层显示第三应用程序的显示界面;并对所述第一应用程序的显示界面对应的图像以及所述第三应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面预留的指定区域中实现所述第三应用程序的显示界面的显示。
在一种可能的实现方式中,所述通信模块11还用于接收更新的区域信息;
所述显示控制模块13还用于根据更新的区域信息,对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面更新后的指定区域中实现所述第二应用程序的显示。
在一种可能的实现方式中,所述通信模块11还用于接收指定区域录屏请求;
所述装置还包括录屏模块16:
所述录屏模块16用于若所述通信模块接收到指定区域录屏请求,根据接收到的区域信息,对所述指定区域显示的所述第二应用程序的显示界面进行录屏操作。
实施例六
本发明实施例六提供一种应用程序显示控制装置,该装置可以应用于应用层,该装置的结构可以如图13所示,包括通信模块21,其中:
所述通信模块21用于若接收到第一应用程序启动请求,向系统层发送所述第一应用程序启动请求,以便系统层根据所述第一应用程序启动请求,在系统窗口层显示第一应用程序显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;以及,
若在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,向系统层发送所述第二应用程序启动请求,以便系统层根据所述第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面,并对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
在一种可能的实现方式中,所述装置还包括窗口管理模块22:
所述窗口管理模块22用于确定第一应用程序的显示界面对应的图像,将第一应用程序的显示界面对应的图像中,指定区域对应的像素颜色混合为透明色,以及确定区域信息,指示所述通信模块将所述区域信息发送给系统层,作为系统层进行图像合成的第一应用程序的显示界面对应的图像。
系统层进行图像合成的第二应用程序的显示界面对应的图像,可以为系统层根据接收到的区域信息,对接收到的第二应用程序发送的所述第二应用程序的显示界面对应的图像进行图像处理得到,所述区域信息用于描述所述指定区域的大小和位置。
在一种可能的实现方式中,所述通信模块21还用于若接收到触摸操作,确定所述触摸操作对应的触点位置;向系统层发送所述触点位置对应的触点位置信息。
在一种可能的实现方式中,所述通信模块21还用于若在所述第一应用程序的显示界面中,接收到第三应用程序启动请求,向系统层发送所述第三应用程序启动请求。
在一种可能的实现方式中,所述通信模块21还用于接收指定区域更新请求,所述指定区域更新请求中包括所述指定区域对应的更新的区域信息;向系统层发送所述更新的区域信息。
在一种可能的实现方式中,所述通信模块21还用于接收指定区域录屏请求;向系统层发送所述指定区域录屏请求。
基于同一发明构思,本发明实施例提供以下的设备和介质。
实施例七
本发明实施例七提供一种应用程序显示控制设备,该设备的结构可以如图14所示,包括处理器31、通信接口32、存储器33和通信总线34,其中,所述处理器31,所述通信接口32,所述存储器33通过所述通信总线34完成相互间的通信;
所述存储器33,用于存放计算机程序;
所述处理器31,用于执行所述存储器上所存储的程序时,实现本发明实施例一或实施例四所述的方法步骤。
可选的,所述处理器31具体可以包括中央处理器(CPU)、特定应用集成电路(ASIC,Application Specific Integrated Circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(FPGA,Field Programmable Gate Array)开发的硬件电路,可以是基带处理器。
可选的,所述处理器31可以包括至少一个处理核心。
可选的,所述存储器33可以包括只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)和磁盘存储器。存储器33用于存储至少一个处理器31运行时所需的数据。存储器33的数量可以为一个或多个。
本发明实施例八提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本发明实施例一或实施例四提供的方法。
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus Flash Drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
在本发明实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus Flash Drive)、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种应用程序显示控制方法,其特征在于,所述方法包括:
若接收到第一应用程序启动请求,在系统窗口层显示第一应用程序的显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;
若在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面;
对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
2.如权利要求1所述的方法,其特征在于,
进行图像合成的所述第一应用程序的显示界面对应的图像,为接收到的第一应用程序发送的所述第一应用程序的显示界面对应的图像,该图像中所述指定区域对应的像素颜色为透明色;
进行图像合成的所述第二应用程序的显示界面对应的图像,为根据接收到的区域信息,对接收到的第二应用程序发送的所述第二应用程序的显示界面对应的图像进行图像处理得到,所述区域信息用于描述所述指定区域的大小和位置。
3.如权利要求1所述的方法,其特征在于,对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,包括:
根据所述第一应用程序以及所述第二应用程序各自对应的图层,对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收触点位置信息,根据接收到的区域信息,确定所述触点位置信息对应的触点位置是否属于所述指定区域;
若确定所述触点位置属于所述指定区域,将所述触点位置转换为所述第二应用程序对应的目标触点位置;
将所述目标触点位置对应的目标触点位置信息发送给所述第二应用程序,以便所述第二应用程序根据所述目标触点位置,响应触摸操作。
5.如权利要求1~4任一所述的方法,其特征在于,所述方法还包括:
接收更新的区域信息;
根据更新的区域信息,对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在更新后的指定区域实现所述第二应用程序的显示界面的显示。
6.如权利要求1~4任一所述的方法,其特征在于,所述方法还包括:
若接收到指定区域录屏请求,根据接收到的区域信息,对所述指定区域显示的所述第二应用程序的显示界面进行录屏操作。
7.一种应用程序显示控制方法,其特征在于,所述方法包括:
若接收到第一应用程序启动请求,向系统层发送所述第一应用程序启动请求,以便系统层根据所述第一应用程序启动请求,在系统窗口层显示第一应用程序显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;
若在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,向系统层发送所述第二应用程序启动请求,以便系统层根据所述第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面,并对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
将所述第一应用程序的显示界面对应的图像中,指定区域对应的像素颜色混合为透明色后,发送给系统层,作为系统层进行图像合成的第一应用程序的显示界面对应的图像。
9.如权利要求7所述的方法,其特征在于,所述方法还包括:
若接收到触摸操作,确定所述触摸操作对应的触点位置;
向系统层发送所述触点位置对应的触点位置信息。
10.如权利要求7~9任一所述的方法,其特征在于,所述方法还包括:
接收指定区域更新请求,所述指定区域更新请求中包括所述指定区域对应的更新的区域信息;
向系统层发送所述更新的区域信息。
11.一种应用程序显示控制装置,其特征在于,所述装置包括:
通信模块,用于接收第一应用程序启动请求,以及在所述第一应用程序的显示界面中,接收第二应用程序启动请求;
显示控制模块,用于若所述通信模块接收到第一应用程序启动请求,在系统窗口层显示第一应用程序的显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;若所述通信模块在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面;以及,对所述第一应用程序的显示界面对应的图像以及所述第二应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
12.一种应用程序显示控制装置,其特征在于,所述装置包括通信模块,其中:
所述通信模块,用于若接收到第一应用程序启动请求,向系统层发送所述第一应用程序启动请求,以便系统层根据所述第一应用程序启动请求,在系统窗口层显示第一应用程序显示界面,所述系统窗口层为窗口层级类型为TYPE_SYSTEM_WINDOW类型的窗口层;以及,
若在所述第一应用程序的显示界面中,接收到第二应用程序启动请求,向系统层发送所述第二应用程序启动请求,以便系统层根据所述第二应用程序启动请求,在应用窗口层显示第二应用程序的显示界面,并对所述第二应用程序的显示界面对应的图像以及所述第一应用程序的显示界面对应的图像,进行图像合成,利用合成得到的图像,在所述第一应用程序显示界面的指定区域中实现所述第二应用程序的显示界面的显示,所述指定区域为所述第一应用程序的显示界面预留区域中的至少一部分区域。
13.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现权利要求1~10任一所述的方法。
14.一种应用程序显示控制设备,其特征在于,所述设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现权利要求1~10任一所述的方法步骤。
CN202010414049.7A 2020-05-15 2020-05-15 一种应用程序显示控制方法、装置、介质和设备 Pending CN111597001A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010414049.7A CN111597001A (zh) 2020-05-15 2020-05-15 一种应用程序显示控制方法、装置、介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010414049.7A CN111597001A (zh) 2020-05-15 2020-05-15 一种应用程序显示控制方法、装置、介质和设备

Publications (1)

Publication Number Publication Date
CN111597001A true CN111597001A (zh) 2020-08-28

Family

ID=72187329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010414049.7A Pending CN111597001A (zh) 2020-05-15 2020-05-15 一种应用程序显示控制方法、装置、介质和设备

Country Status (1)

Country Link
CN (1) CN111597001A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286413A (zh) * 2020-10-23 2021-01-29 珠海格力电器股份有限公司 应用界面的展示方法和装置、存储介质、电子装置
CN112642057A (zh) * 2021-02-23 2021-04-13 北京品驰医疗设备有限公司 一种影像数据辅助的神经调控程控设备及相关系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108646906A (zh) * 2018-03-27 2018-10-12 广东欧珀移动通信有限公司 帧率调整方法、装置、存储介质及智能终端
CN109445572A (zh) * 2018-09-10 2019-03-08 华为技术有限公司 全屏显示视频中快速调出小窗口的方法、图形用户接口及终端
WO2019174465A1 (zh) * 2018-03-12 2019-09-19 Oppo广东移动通信有限公司 用户界面显示方法、装置、终端及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019174465A1 (zh) * 2018-03-12 2019-09-19 Oppo广东移动通信有限公司 用户界面显示方法、装置、终端及存储介质
CN108646906A (zh) * 2018-03-27 2018-10-12 广东欧珀移动通信有限公司 帧率调整方法、装置、存储介质及智能终端
CN109445572A (zh) * 2018-09-10 2019-03-08 华为技术有限公司 全屏显示视频中快速调出小窗口的方法、图形用户接口及终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286413A (zh) * 2020-10-23 2021-01-29 珠海格力电器股份有限公司 应用界面的展示方法和装置、存储介质、电子装置
CN112642057A (zh) * 2021-02-23 2021-04-13 北京品驰医疗设备有限公司 一种影像数据辅助的神经调控程控设备及相关系统

Similar Documents

Publication Publication Date Title
EP3451641B1 (en) Mobile communication device with separate display areas and rearrangemet of icons in the edges areas.
CN109164964B (zh) 内容分享方法、装置、终端及存储介质
US11500513B2 (en) Method for icon display, terminal, and storage medium
JP5681191B2 (ja) コンピュータ周辺機器上にアプリケーションインターフェイス部を提供する方法および装置
JP5713459B2 (ja) グラフィックオブジェクトの表示
JP2022524889A (ja) 画像レンダリング方法、装置、機器及びコンピュータプログラム
US20170127141A1 (en) Method and electronic device for dynamic reminding of live broadcast contents
EP2690550A1 (en) Method and apparatus for displaying a multi-task interface
JP2021530315A (ja) ゲーム視点制御方法及び装置
CN108694012B (zh) 在屏幕上显示对象的方法和系统
CN106598514B (zh) 一种终端设备中切换虚拟现实模式的方法及系统
CN101764971B (zh) 一种在屏显示装置及其在屏显示方法
CN104954848A (zh) 智能终端的显示图形用户界面的控制方法及装置
CN111597001A (zh) 一种应用程序显示控制方法、装置、介质和设备
CN110908762A (zh) 一种动态壁纸实现方法及设备
CN108829486B (zh) 一种背景设置方法、装置、设备和存储介质
CN111338743B (zh) 一种界面处理方法、装置及存储介质
WO2023030115A1 (zh) 界面显示方法和装置
CN110928397B (zh) 用户界面刷新方法、装置、存储介质及电子装置
CN111158834B (zh) 界面自定义方法及计算机可读存储介质
CN112686939A (zh) 景深图像的渲染方法、装置、设备及计算机可读存储介质
CN115546410A (zh) 窗口展示方法、装置、电子设备及存储介质
CN112001995B (zh) 渲染装置、方法、电子设备及可读存储介质
CN115348469A (zh) 画面显示方法、装置、视频处理设备及存储介质
CN109714474B (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