CN115129444A - 一种应用程序显示方法、装置及计算机可读存储介质 - Google Patents

一种应用程序显示方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN115129444A
CN115129444A CN202210657531.2A CN202210657531A CN115129444A CN 115129444 A CN115129444 A CN 115129444A CN 202210657531 A CN202210657531 A CN 202210657531A CN 115129444 A CN115129444 A CN 115129444A
Authority
CN
China
Prior art keywords
virtual window
container
texture
application program
virtual
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
CN202210657531.2A
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.)
Nolo Co ltd
Original Assignee
Nolo 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 Nolo Co ltd filed Critical Nolo Co ltd
Priority to CN202210657531.2A priority Critical patent/CN115129444A/zh
Publication of CN115129444A publication Critical patent/CN115129444A/zh
Priority to PCT/CN2022/142417 priority patent/WO2023236515A1/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种应用程序显示方法、装置及计算机可读存储介质,该方法包括:为电子设备中安装的每个应用程序创建虚拟窗口容器,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,所述虚拟窗口容器设置有状态变量,且所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中;当接收到输入事件时,确定所述输入事件的目标虚拟窗口容器;将所述目标虚拟窗口容器的状态变量设置为激活状态;在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序能够让多个应用程序同时显示在VR系统中,并使多个应用程序都处于可被用户操控的状态,提高了用户体验。

Description

一种应用程序显示方法、装置及计算机可读存储介质
技术领域
本文涉及虚拟显示技术,尤指一种系统中显示多个应用程序的方法、装置及计算机可读存储介质。
背景技术
虚拟现实(Virtual Reality,VR)是指采用计算机技术为核心,利用现代高科技手段生成的一种虚拟环境,用户借助特殊的输入/输出设备,通过视觉、听觉和触觉等获得与真实世界相同的感受。VR技术是一种综合应用计算机图形学、人机接口技术、传感器技术以及人工智能等技术,制造逼真的人工模拟环境,并能有效地模拟人在自然环境中的各种感知的高级的人机交互技术。
目前的VR系统中只能运行一个应用程序,无法同时运行多个应用程序,当要运行其他应用程序时,需要手动操作终端的功能按键,将要运行的应用程序切换到前台运行,因此用户的体验感较差。
发明内容
第一方面,本申请提供了一种应用程序显示方法,包括:
为电子设备中安装的每个应用程序创建虚拟窗口容器,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,所述虚拟窗口容器设置有状态变量,且所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中;
当接收到输入事件时,确定所述输入事件的目标虚拟窗口容器;所述输入事件为用户欲开启应用程序的触发操作;
将所述目标虚拟窗口容器的状态变量设置为激活状态;
在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
在一些实施例中,所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中,包括:
建立应用程序与所创建的虚拟窗口容器的一一对应关系;
将应用程序启动到对应的虚拟窗口容器;
将虚拟窗口容器中的内容发送给系统中对应的虚拟窗口以进行显示。
在一些实施例中,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,包括:
在系统中创建与所述应用程序数量相等的虚拟窗口,并建立应用程序与所创建的虚拟窗口的一一对应关系;
为每个虚拟窗口容器创建第一纹理和第二纹理,并将所创建的第一纹理、第二纹理与所设置的虚拟窗口容器进行绑定;其中,所述第一纹理适用于应用程序,所述第二纹理适用于所述电子设备的系统;
通过所述第一纹理获取对应的虚拟窗口容器的内容;
将获得的内容绘制到对应的第二纹理上;
将所述第二纹理的内容发送至系统对应的虚拟窗口中,用于在系统的虚拟窗口中展示对应的第二纹理的内容。
在一些实施例中,所述确定所述输入事件的目标虚拟窗口容器,包括:
获取所述输入事件的位置信息;
根据所述输入事件的位置信息确定应用程序显示在系统中的目标虚拟窗口;
根据所述应用程序与所设置的虚拟窗口的一一对应关系,以及所述应用程序与所设置的虚拟窗口容器的一一对应关系确定所述目标虚拟窗口对应的虚拟窗口容器。
在一些实施例中,所述在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序,包括:
确定与所述目标虚拟窗口容器对应的目标窗口句柄;
将所述输入事件对应的代码注入到所述目标窗口句柄中,以实现在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
第二方面,本申请提供了一种系统中显示多个应用程序的装置,包括:
虚拟窗口容器创建模块,用于为电子设备中安装的每个应用程序创建虚拟窗口容器,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,所述虚拟窗口容器设置有状态变量,且所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中;
事件接收模块,用于当接收到输入事件时,确定所述输入事件的目标虚拟窗口容器;所述输入事件为用户欲开启应用程序的触发操作;
状态变量设置模块,用于将所述目标虚拟窗口容器的状态变量设置为激活状态;
处理模块,用于在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
在一些实施例中,所述虚拟窗口容器创建模块具体用于:
建立应用程序与所创建的虚拟窗口容器的一一对应关系;
将应用程序启动到对应的虚拟窗口容器;
将虚拟窗口容器中的内容发送给系统中对应的虚拟窗口以进行显示。
在一些实施例中,所述虚拟窗口容器创建模块具体还用于:
在系统中创建与所述应用程序数量相等的虚拟窗口,并建立应用程序与所创建的虚拟窗口的一一对应关系;
为每个虚拟窗口容器创建第一纹理和第二纹理,并将所创建的第一纹理、第二纹理与所设置的虚拟窗口容器进行绑定;其中,所述第一纹理适用于应用程序,所述第二纹理适用于所述电子设备的系统;
通过所述第一纹理获取对应的虚拟窗口容器的内容;
将获得的内容绘制到对应的第二纹理上;
将所述第二纹理的内容发送至系统对应的虚拟窗口中,用于在系统的虚拟窗口中展示对应的第二纹理的内容。
在一些实施例中,所述事件接收模块具体用于:
获取所述输入事件的位置信息;
根据所述输入事件的位置信息确定应用程序显示在系统中的目标虚拟窗口;
根据所述应用程序与所设置的虚拟窗口的一一对应关系,以及所述应用程序与所设置的虚拟窗口容器的一一对应关系确定所述目标虚拟窗口对应的虚拟窗口容器。
在一些实施例中,所述处理模块具体用于:
确定与所述目标虚拟窗口容器对应的目标窗口句柄;
将所述输入事件对应的代码注入到所述目标窗口句柄中,以实现在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
第三方面,本申请还提供了一种电子设备,包括存储器和处理器,所述存储器上保存有计算机程序,所述存储器上的计算机程序被所述处理器执行时用于执行如第一方面任一项所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述存储介质上存储有计算机可执行命令,所述计算机可执行命令用于执行以下如第一方面任一项所述的方法。
与相关技术相比,本申请提供的应用程序显示方法为电子设备中安装的每个应用程序创建虚拟窗口容器,该电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,该虚拟窗口容器设置有状态变量,且虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中;当接收到输入事件时,确定输入事件的目标虚拟窗口容器;将目标虚拟窗口容器的状态变量设置为激活状态;最后在目标虚拟窗口容器对应的虚拟窗口中显示输入事件对应的用户欲开启应用程序。由此,本申请可以使多个应用程序同时显示在虚拟现实系统中,从而提升了用户体验。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种系统中显示多个应用程序的方法的流程示意图;
图2为本申请实施例提供的一种多个应用程序在系统中的显示示意图;
图3为本申请实施例提供的一种系统中显示多个应用窗口的装置的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本文提供了一种应用程序的显示方法,如图1所示,包括:
步骤101、为电子设备中安装的每个应用程序创建虚拟窗口容器,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,所述虚拟窗口容器设置有状态变量,且所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中。所述状态变量包括激活状态。
在一种示例性实例中,虚拟容器窗口相当于虚拟环境界面后台的寄存器,用于暂时存储应用程序的显示内容。
在一种示例性实例中,所述系统为现有操作系统,包括但不限于Windows操作系统、Android操作系统、IOS操作系统;所述电子设备为VR头显/AR头显。
步骤102、当接收到输入事件时,确定所述输入事件的目标虚拟窗口容器;所述输入事件为用户欲开启应用程序的触发操作。
步骤103、将所述目标虚拟窗口容器的状态变量设置为激活状态。
步骤104、在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
在一种示例性实例中,多个应用程序在系统中的显示示意图可以如图2所示。
本申请实施例提供的系统中显示多个应用程序的方法,由于能够让多个应用程序同时显示在系统中,并使多个应用程序都处于可被用户操控的状态,因此实现了多个应用程序同时运行在系统中,提高了用户体验。
在一种示例性实例中,所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中,包括:
首先,建立应用程序与所创建的虚拟窗口容器的一一对应关系。
其次,将应用程序启动到对应的虚拟窗口容器。
最后,将虚拟窗口容器中的内容发送给虚拟环境界面中对应的虚拟窗口以进行显示。
在一种示例性实例中,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,包括:
首先,在系统中创建与所述应用程序数量相等的虚拟窗口,并建立应用程序与所创建的虚拟窗口的一一对应关系。
其次,为每个虚拟窗口容器创建第一纹理和第二纹理,并将所创建的第一纹理、第二纹理与所设置的虚拟窗口容器进行绑定;其中,所述第一纹理适用于应用程序,所述第二纹理适用于所述电子设备的系统。
再次,通过所述第一纹理获取对应的虚拟窗口容器的内容。
接下来,通过所述第一纹理获取对应的虚拟窗口容器的内容。
最后,将所述第二纹理的内容发送至系统对应的虚拟窗口中,用于在系统的虚拟窗口中展示对应的第二纹理的内容。
在一种示例性实例中,所述第一纹理包括:GL_TEXTURE_EXTERNAL_OES纹理,所述第二纹理包括:GL_TEXTURE_2D纹理。
在一种示例性实例中,在系统中同时显示多个应用程序可以通过以下步骤实现:
步骤1、创建虚拟显示器(本实施例中的虚拟屏对应其他实施例中的虚拟容器窗口)
由于VirtualDisplay类代表一个虚拟显示器,虚拟显示器的内容会被渲染在GL_TEXTURE_EXTERNAL_OES纹理上,因此调用DisplayManager类的createVirtualDisplay()方法,创建GL_TEXTURE_EXTERNAL_OES纹理并绑定到虚拟显示器。
步骤2、APP启动到虚拟显示器
ActivityOptions提供的setLaunchDisplayId函数可以指定App在启动后应显示在哪个虚拟显示器上,启动App时,利用setLaunchDisplayId函数指定虚拟显示器的ID将App启动到虚拟屏。
步骤3、Unity展示虚拟显示器内容
通过GL_TEXTURE_EXTERNAL_OES获取虚拟显示器显示的内容,但是Unity只支持传统GLES纹理(GL_TEXTURE_2D),不支持GL_TEXTURE_EXTERNAL_OES,因此创建GL_TEXTURE_2D纹理,利用帧缓冲区对象(FBO)将GL_TEXTURE_EXTERNAL_OES纹理绘制到GL_TEXTURE_2D纹理上,再把TextureID传给给unity,在Unity用RawImage控件接收并展示GL_TEXTURE_2D纹理内容。
在一种示例性实例中,在系统中同时显示多个应用程序的方法还包括如下步骤:
修改AMS的Activity管理逻辑,通过在每个虚拟窗口容器对应的ActivityDisplay类中管理Activity的状态使启动的多个Activity保活。
现有虚拟环境界面只有一个AMS,一个AMS只有一个记录哪个Activity处于Resumed的状态的变量。因此,只存在一个ResumedActivity,每当开启一个新的Activity,就会更换ResumedActivity,之前的Activity则会进入OnPause状态。在一种示例性实例中,所述修改AMS的Activity管理逻辑,通过在每个虚拟窗口容器对应的ActivityDisplay类中管理Activity的状态使启动的多个Activity保活,包括:
首先,修改AMS的Activity管理逻辑,在每个虚拟窗口容器对应的ActivityDisplay类中增加管理Activity状态的变量。
其次,将所有虚拟窗口容器对应的ActivityDisplay类中管理Activity状态的变量设置为Resumed状态。
在一种示例性实例中,本申请实施例提供的系统中显示多个应用程序的方法,修改AMS管理Activity逻辑,将Activity管理的粒度下降到ActivityDisplay。这样当新Activity开启,会先判断该Activity在哪个虚拟窗口容器启动,然后再去修改相应ActivityDisplay状态,保证不会干扰其他虚拟窗口容器的应用。
在一种示例性实例中,所述确定所述输入事件的目标虚拟窗口容器,包括;
首先,获取所述输入事件的位置信息。
其次,根据所述输入事件的位置信息确定应用程序显示在系统中的目标虚拟窗口。
最后,根据所述待运行应用程序与所设置的虚拟窗口的一一对应关系,以及所述应用程序与所设置的虚拟窗口容器的一一对应关系确定所述目标虚拟窗口对应的目标虚拟窗口容器。
在一种示例性实例中,所述在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序,包括:
首先,确定与所述目标虚拟窗口容器对应的目标窗口句柄。
其次,将所述输入事件对应的代码注入到所述目标窗口句柄中,以实现在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
现有技术中,InputFlinger负责分发输入事件的InputDispatcher,只保存一个FocusedWindowHandle,系统接收到输入事件,只会往这个Windows注入。
而本申请实施例提供的系统中显示多个应用程序的方法是在默认虚拟显示器的全屏应用中将虚拟窗口容器的内容绘制出来,所以焦点始终是这个全屏应用,导致输入事件不能往虚拟窗口容器注入,因此需要在inputflinger为每个display设置焦点,但是input系统无类似ActivityDisplay对应display的数据结构,需要将设置焦点的hashmap或者队列,同时InputEvent添加DisplayId属性。同时输入设备(如手柄和按键)输入发给主屏全屏应用,全屏应用接收后,判断焦点位于哪个窗口容器,使用InputForwarder接口向系统注入输入事件,InputFlinger根据displayId向对应的窗口句柄(windows)分发输入事件。
本文还提供了一种应用程序的显示装置,如图3所示,系统中显示多个应用程序的装置2包括:
虚拟窗口容器创建模块21,用于为电子设备中安装的每个应用程序创建虚拟窗口容器,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,所述虚拟窗口容器设置有状态变量,且所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中。
事件接收模块22,用于当接收到输入事件时,确定所述输入事件的目标虚拟窗口容器;所述输入事件为用户欲开启应用程序的触发操作。
状态变量设置模块23.,用于将所述目标虚拟窗口容器的状态变量设置为激活状态。
处理模块24,用于在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
在一种示例性实例中,所述虚拟窗口容器创建模块21具体用于:
建立应用程序与所创建的虚拟窗口容器的一一对应关系。
将应用程序启动到对应的虚拟窗口容器。
将虚拟窗口容器中的内容发送给虚拟环境界面中对应的虚拟窗口以进行显示。
在一种示例性实例中,所述虚拟窗口容器创建模块21具体还用于:
在系统中创建与所述应用程序数量相等的虚拟窗口,并建立应用程序与所创建的虚拟窗口的一一对应关系。
为每个虚拟窗口容器创建第一纹理和第二纹理,并将所创建的第一纹理、第二纹理与所设置的虚拟窗口容器进行绑定;其中,所述第一纹理适用于应用程序,所述第二纹理适用于所述电子设备的系统。
通过所述第一纹理获取对应的虚拟窗口容器的内容。
将获得的内容绘制到对应的第二纹理上。
将所述第二纹理的内容发送至系统对应的虚拟窗口中,用于在系统的虚拟窗口中展示对应的第二纹理的内容。
在一种示例性实例中,事件接收模块22具体用于:
获取所述输入事件的位置信息。
根据所述输入事件的位置信息确定应用程序显示在系统中的目标虚拟窗口。
根据所述应用程序与所设置的虚拟窗口的一一对应关系,以及所述应用程序与所设置的虚拟窗口容器的一一对应关系确定所述目标虚拟窗口对应的虚拟窗口容器。
在一种示例性实例中,所述处理模块24具体用于:
确定与所述目标虚拟窗口容器对应的目标窗口句柄。
将所述输入事件对应的代码注入到所述目标窗口句柄中,以实现在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
本申请实施例提供的系统中显示多个应用程序的装置,由于能够让多个应用程序同时显示在系统中,并使多个应用程序都处于可被用户操控的状态,因此实现了多个应用程序同时运行在虚拟环境界面中,提高了用户体验。
本文还提供了一种电子设备,包括存储器和处理器,所述存储器上保存有计算机程序,所述存储器上的计算机程序被所述处理器执行时用于执行上述任一实施例描述的方法。
本文还提供了一种计算机可读存储介质,所述存储介质上存储有计算机可执行命令,所述计算机可执行命令用于执行上述任一实施例描述的方法。
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (12)

1.一种应用程序显示方法,其特征在于,包括:
为电子设备中安装的每个应用程序创建虚拟窗口容器,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,所述虚拟窗口容器设置有状态变量,且所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中;
当接收到输入事件时,确定所述输入事件的目标虚拟窗口容器;所述输入事件为用户欲开启应用程序的触发操作;
将所述目标虚拟窗口容器的状态变量设置为激活状态;
在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
2.根据权利要求1所述的方法,其特征在于,所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中,包括:
建立应用程序与所创建的虚拟窗口容器的一一对应关系;
将应用程序启动到对应的虚拟窗口容器;
将虚拟窗口容器中的内容发送给系统中对应的虚拟窗口以进行显示。
3.根据权利要求2所述的方法,其特征在于,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,包括:
在系统中创建与所述应用程序数量相等的虚拟窗口,并建立应用程序与所创建的虚拟窗口的一一对应关系;
为每个虚拟窗口容器创建第一纹理和第二纹理,并将所创建的第一纹理、第二纹理与所设置的虚拟窗口容器进行绑定;其中,所述第一纹理适用于应用程序,所述第二纹理适用于所述电子设备的系统;
通过所述第一纹理获取对应的虚拟窗口容器的内容;
将获得的内容绘制到对应的第二纹理上;
将所述第二纹理的内容发送至系统对应的虚拟窗口中,用于在系统的虚拟窗口中展示对应的第二纹理的内容。
4.根据权利要求3所述的方法,其特征在于,所述确定所述输入事件的目标虚拟窗口容器,包括:
获取所述输入事件的位置信息;
根据所述输入事件的位置信息确定应用程序显示在系统中的目标虚拟窗口;
根据所述应用程序与所设置的虚拟窗口的一一对应关系,以及所述应用程序与所设置的虚拟窗口容器的一一对应关系确定所述目标虚拟窗口对应的虚拟窗口容器。
5.根据权利要求4所述的方法,其特征在于,所述在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序,包括:
确定与所述目标虚拟窗口容器对应的目标窗口句柄;
将所述输入事件对应的代码注入到所述目标窗口句柄中,以实现在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
6.一种应用程序显示装置,包括:
虚拟窗口容器创建模块,用于为电子设备中安装的每个应用程序创建虚拟窗口容器,所述电子设备的系统被配置有用于显示每个应用程序的虚拟窗口,所述虚拟窗口容器设置有状态变量,且所述虚拟窗口容器被配置为将应用程序一一对应显示在系统的虚拟窗口中;
事件接收模块,用于当接收到输入事件时,确定所述输入事件的目标虚拟窗口容器;所述输入事件为用户欲开启应用程序的触发操作;
状态变量设置模块,用于将所述目标虚拟窗口容器的状态变量设置为激活状态;
处理模块,用于在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
7.根据权利要求6所述的装置,其特征在于,所述虚拟窗口容器创建模块具体用于:
建立应用程序与所创建的虚拟窗口容器的一一对应关系;
将应用程序启动到对应的虚拟窗口容器;
将虚拟窗口容器中的内容发送给系统中对应的虚拟窗口以进行显示。
8.根据权利要求7所述的装置,其特征在于,所述虚拟窗口容器创建模块具体还用于:
在系统中创建与所述应用程序数量相等的虚拟窗口,并建立应用程序与所创建的虚拟窗口的一一对应关系;
为每个虚拟窗口容器创建第一纹理和第二纹理,并将所创建的第一纹理、第二纹理与所设置的虚拟窗口容器进行绑定;其中,所述第一纹理适用于应用程序,所述第二纹理适用于所述电子设备的系统;
通过所述第一纹理获取对应的虚拟窗口容器的内容;
将获得的内容绘制到对应的第二纹理上;
将所述第二纹理的内容发送至系统对应的虚拟窗口中,用于在系统的虚拟窗口中展示对应的第二纹理的内容。
9.根据权利要求8所述的装置,其特征在于,所述事件接收模块具体用于:
获取所述输入事件的位置信息;
根据所述输入事件的位置信息确定应用程序显示在系统中的目标虚拟窗口;
根据所述应用程序与所设置的虚拟窗口的一一对应关系,以及所述应用程序与所设置的虚拟窗口容器的一一对应关系确定所述目标虚拟窗口对应的虚拟窗口容器。
10.根据权利要求9所述的装置,其特征在于,所述处理模块具体用于:
确定与所述目标虚拟窗口容器对应的目标窗口句柄;
将所述输入事件对应的代码注入到所述目标窗口句柄中,以实现在所述目标虚拟窗口容器对应的虚拟窗口中显示所述输入事件对应的用户欲开启应用程序。
11.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上保存有计算机程序,所述存储器上的计算机程序被所述处理器执行时用于执行如权利要求1-5任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机可执行命令,所述计算机可执行命令用于执行以下如权利要求1-5任一项所述的方法。
CN202210657531.2A 2022-06-10 2022-06-10 一种应用程序显示方法、装置及计算机可读存储介质 Pending CN115129444A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210657531.2A CN115129444A (zh) 2022-06-10 2022-06-10 一种应用程序显示方法、装置及计算机可读存储介质
PCT/CN2022/142417 WO2023236515A1 (zh) 2022-06-10 2022-12-27 一种应用程序显示方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210657531.2A CN115129444A (zh) 2022-06-10 2022-06-10 一种应用程序显示方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115129444A true CN115129444A (zh) 2022-09-30

Family

ID=83377795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210657531.2A Pending CN115129444A (zh) 2022-06-10 2022-06-10 一种应用程序显示方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN115129444A (zh)
WO (1) WO2023236515A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023236515A1 (zh) * 2022-06-10 2023-12-14 北京凌宇智控科技有限公司 一种应用程序显示方法、装置及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110114746A (zh) * 2017-01-04 2019-08-09 武汉六为科技有限公司 显示虚拟现实画面的方法和虚拟现实设备
CN110308956B (zh) * 2018-03-20 2021-01-12 青岛海信移动通信技术股份有限公司 一种应用界面显示方法、装置及移动终端
CN110347305A (zh) * 2019-05-30 2019-10-18 华为技术有限公司 一种vr多屏显示方法及电子设备
CN113391734A (zh) * 2020-03-12 2021-09-14 华为技术有限公司 图像处理方法和图像显示设备、存储介质和电子设备
CN115129444A (zh) * 2022-06-10 2022-09-30 北京凌宇智控科技有限公司 一种应用程序显示方法、装置及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023236515A1 (zh) * 2022-06-10 2023-12-14 北京凌宇智控科技有限公司 一种应用程序显示方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
WO2023236515A1 (zh) 2023-12-14

Similar Documents

Publication Publication Date Title
CN110580125B (zh) 显示界面的局部刷新方法、装置、设备及介质
CN110599396B (zh) 信息处理方法及装置
EP3309676B1 (en) Method and apparatus for providing screenshot service on terminal device and storage medium and device
US9678632B2 (en) Data processing method and apparatus
CN110750664A (zh) 图片的显示方法及装置
CN111880879A (zh) 一种动态壁纸的播放方法、装置、设备及存储介质
CN115129444A (zh) 一种应用程序显示方法、装置及计算机可读存储介质
CN114237481A (zh) 书写笔迹显示处理方法、系统、装置、设备和存储介质
CN112559158A (zh) 微服务定时任务调度方法及装置
CN116866661A (zh) 一种视频预渲染方法、装置、设备及存储介质
CN110673921A (zh) 信息处理方法、装置及电子设备
CN107729107B (zh) 一种模态对话框处理方法及装置
CN116149768A (zh) 一种应用图标的显示方法、装置、储存介质及车机平台
CN112367295B (zh) 插件展示方法及装置、存储介质及电子设备
CN114913058A (zh) 显示对象的确定方法、装置、电子设备及存储介质
CN114332328A (zh) 场景渲染方法、场景渲染装置、电子设备和可读存储介质
CN114377393A (zh) 用于对游戏对象的显示控制方法、装置、设备及介质
US20110314412A1 (en) Compositing application content and system content for display
CN110968706B (zh) 一种控制幻灯片播放动画的方法、系统和终端
CN111292392A (zh) 基于unity的图像显示方法、装置、设备及介质
CN116860358B (zh) 执行注入代码的方法、系统、设备及介质
CN115119065B (zh) 游戏运行速度调整方法、系统及智能电视设备
US11886893B2 (en) Method and device for capturing screen and terminal
CN109614564B (zh) 提升WebView与H5交互实时性的方法及装置
CN111803939B (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