CN114461158B - 一种应用投屏方法、装置、车载终端及可读存储介质 - Google Patents
一种应用投屏方法、装置、车载终端及可读存储介质 Download PDFInfo
- Publication number
- CN114461158B CN114461158B CN202111642154.7A CN202111642154A CN114461158B CN 114461158 B CN114461158 B CN 114461158B CN 202111642154 A CN202111642154 A CN 202111642154A CN 114461158 B CN114461158 B CN 114461158B
- Authority
- CN
- China
- Prior art keywords
- application
- operating system
- display screen
- real
- application interface
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 238000003786 synthesis reaction Methods 0.000 claims description 8
- 238000009877 rendering Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005266 casting Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- 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
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例公开了一种应用投屏方法、装置、车载终端及可读存储介质,该方法包括:将在移动操作***中安装的应用程序与预设的虚拟显示屏建立连接;在虚拟显示屏的画布中合成应用程序的应用界面;通过共享内存通道,将应用界面传递至实时操作***;控制实时操作***将应用界面显示在目标显示屏上。根据本申请的实施例,能够提升车载终端的运行性能。
Description
技术领域
本申请属于信息处理技术领域,尤其涉及一种应用投屏方法、装置、车载终端及可读存储介质。
背景技术
随着车载终端技术的不断升级,可以在车载终端中安装多种应用程序,在车载终端启动应用程序之后,可以在对应的显示屏上显示应用程序的界面。为了方便驾驶人员快速掌握导航信息和通讯信息等多类应用信息,由车载终端控制的多个显示屏常常会同时显示内容。
目前,通过给移动操作***配置一种显示框架(OpenWF Display,WFD)的显示端口,来实现在显示屏上显示界面内容,但是每个显示端口都会占用物理的硬件资源,所以通常会出现硬件资源不足的情况,导致运行性能下降,而且当硬件资源不足时也无法使用投屏功能。
发明内容
本申请实施例提供一种应用投屏方法、装置、车载终端及可读存储介质,能够解决目前硬件资源不足的问题。
第一方面,本申请实施例提供一种应用投屏方法,应用于车载终端,车载终端运行有移动操作***和实时操作***,该方法包括:
将在移动操作***中安装的应用程序与预设的虚拟显示屏建立连接;
在虚拟显示屏的画布中合成应用程序的应用界面;
通过共享内存通道,将应用界面传递至实时操作***;
控制实时操作***将应用界面显示在目标显示屏上。
第二方面,本申请实施例提供一种应用投屏装置,应用于车载终端,车载终端运行有移动操作***和实时操作***,该装置包括:
连接模块,用于将在移动操作***中安装的应用程序与预设的虚拟显示屏建立连接;
合成模块,用于在虚拟显示屏的画布中合成应用程序的应用界面;
传递模块,用于通过共享内存通道,将应用界面传递至实时操作***;
显示模块,用于控制实时操作***将应用界面显示在目标显示屏上。
第三方面,本申请实施例提供了一种车载终端,该车载终端包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时,实现如第一方面或者第一方面的任一可能实现方式中的方法。
第四方面,本申请实施例提供了一种可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或者第一方面的任一可能实现方式中的方法。
本申请实施例中,通过将移动操作***中安装的应用程序与虚拟显示屏建立连接;在虚拟显示屏的画布中合成应用程序的应用界面,能够在虚拟显示屏中合成各种第三方应用程序的应用界面,兼容性强;通过共享内存通道,将应用界面传递至实时操作***;这里,通过共享内存传递合成好的应用界面,无需占用额外的内存资源和处理器资源对生成的应用界面进行数据拷贝,最后,控制实时操作***将应用界面显示在目标显示屏,能够高效便捷的在车载终端的目标显示屏上显示用户所需的应用程序的应用界面。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种应用投屏方法的流程图;
图2是本申请实施例提供的一种实现应用投屏方法的流程图;
图3是本申请实施例提供的一种应用投屏装置结构示意图;
图4是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
首先,对于本申请实施例涉及的技术术语进行介绍。
QNX,QNX是一种类Unix实时操作***,目标市场主要是面向嵌入式***。
hypervisor:一种运行在物理服务器和操作***之间的中间层软件,可以允许多个操作***和应用共享一套基础物理硬件。
Hab(Hypervisor Abstraction layer)一种共享内存同步机制。
车载信息娱乐***(In-Vehicle Infotainment,IVI),是采用车载专用中央处理器,基于车身总线***和互联网服务,形成的车载综合信息处理***。
抬头显示(HUD),又被叫做平视显示***,是指以驾驶员为中心、盲操作、多功能仪表盘。它的作用,就是把时速、导航等重要的行车信息,投影到驾驶员前面的风挡玻璃上,让驾驶员尽量做到不低头、不转头就能看到时速、导航等重要的驾驶信息。
本申请实施例提供的应用投屏方法至少可以应用于下述应用场景中,下面进行说明。
当前车载娱乐***,越来越多的车厂选择了基于QNX的hypervisor平台,原因是QNX可以作为主机操作系运行仪表程序,客户端操作***可以运行安卓***等其他操作***,因为生态比较完善。而在这种多操作***的条件下,为了更方便用户的使用,就需要多屏交互。
例如:将导航应用程序中的导航信息投屏到HUD的显示屏上,但是导航应用是在android上面做的,如果要在QNX***上重新写一套导航软件,那投入是巨大的,所以就需要一种投屏方案。
存在一种投屏方案是在QNX端配置WFDPort给移动操作***(如:android),android硬件抽象层(Hardware Abstraction Layer,HAL)认为是实体的显示屏,通过QNX端的配置android可以在任何现实体的显示屏上显示,但是每个WFDPort必须要占用物理硬件资源。
其中,OpenWF Display是一种跨平台开放标准的显示框架,用于管理显示控制硬件。OpenWF Display包括在内部和外部显示器上执行模式设置以及发现和查询新连接的显示器的能力。具有多个显示器和外部显示器连接的嵌入式设备正变得越来越普遍。这些显示器提供不同程度的可配置性,并且通常需要自定义程序来进行设置和模式选择。OpenWFDisplay提供了一种一致的方式来查询和控制这些显示的状态。
基于上述应用场景,下面对本申请实施例提供的应用投屏方法进行详细说明。
图1为本申请实施例提供的一种应用投屏方法的流程图。
如图1所示,该应用投屏方法可以包括步骤110-步骤140,应用于车载终端,车载终端运行有移动操作***和实时操作***,该方法应用于应用投屏装置,具体如下所示:
步骤110,将在移动操作***中安装的应用程序与预设的虚拟显示屏建立连接。
步骤120,在虚拟显示屏的画布中合成应用程序的应用界面。
步骤130,通过共享内存通道,将应用界面传递至实时操作***。
步骤140,控制实时操作***将应用界面显示在目标显示屏上。
本申请实施例提供的应用投屏方法中,通过将移动操作***中安装的应用程序与虚拟显示屏建立连接;在虚拟显示屏的画布中合成应用程序的应用界面,能够在虚拟显示屏中合成各种第三方应用程序的应用界面,兼容性强;通过共享内存通道,将应用界面传递至实时操作***;这里,通过共享内存传递合成好的应用界面,无需占用额外的内存资源和处理器资源对生成的应用界面进行数据拷贝,最后,控制实时操作***将应用界面显示在目标显示屏,能够高效便捷的在车载终端的目标显示屏上显示用户所需的应用程序的应用界面。
在一些实施例中,步骤110,将在移动操作***中安装的应用程序与预设的虚拟显示屏建立连接,具体可以包括以下步骤:
通过显示屏管理器,获取预先创建的虚拟显示屏;
将应用程序与虚拟显示屏建立连接。
可以启动投屏服务通过显示屏管理器获取到预先创建的虚拟显示屏(VirtualDisplay)。
其中,创建上述虚拟显示屏的步骤具体可以包括:由车载终端的处理器将需要显示的内容渲染在一个画布(Surface)控件上,即得到虚拟显示屏,当进程终止时虚拟显示屏会被自动的释放。
在一些实施例中,步骤110,将在移动操作***中安装的应用程序与预设的虚拟显示屏建立连接,具体可以包括以下步骤:
接收用户对应用程序的选中输入;响应于选中输入,将移动操作***中安装的应用程序与虚拟显示屏建立连接。
具体地,车载终端界面中可以显示多个应用标识,如:地图应用标识、音乐播放器标识以及视频播放器标识等,若用户从中选中地图应用标识,则将地图应用标识对应的地图类应用程序与虚拟显示屏建立连接。
在一些实施例中,在虚拟显示屏的画布中合成应用程序的应用界面。
可以采用一种称为画布(Surface)的架构为应用程序提供用户界面。在应用程序中,每一个活动组件都关联有一个或者若干个窗口,每一个窗口都对应有一个子画布。有了这个子画布之后,应用程序就可以在上面渲染窗口的界面内容。最终这些已经绘制好了的子画布都会被统一提交给管理服务器(如:SurfaceFlinger)进行合成,得到合成好的应用界面,最后显示在显示屏上面。
在一种可能的实施例中,在步骤120之前,还可以包括以下步骤:
将应用程序的包名写入启动参数,以用于在车载终端中启动应用程序。
具体地,可以在启动参数(ActivityOptions)中写入应用程序的包名,以通过startActivity拉起应用程序,即用于在车载终端中启动应用程序。
在一些实施例中,步骤130,通过共享内存通道,将应用界面传递至实时操作***,具体可以包括以下步骤:
将应用界面存储于预设内存空间;
将预设内存空间通过共享内存通道传递至实时操作***;
控制实时操作***从预设内存空间中提取应用界面,以及将提取应用界面后的预设内存空间返回至移动操作***。
RenderBuffer Objects:渲染缓冲区对象,无论是纹理、图片、颜色、深度缓冲区、模版缓冲区都存在这个对象。
示例性地,安卓***将应用界面存储于预设内存空间(bufferrender)中;将包括应用界面的bufferrender通过共享内存通道传递至实时操作***。在传递上述包括应用界面的bufferrender的同时,也在继续合成新的应用界面并传递,即多个bufferrender的传递在同时进行。然后控制实时操作***从bufferrender中提取应用界面,以及将提取应用界面后的bufferrender返回至移动操作***,以用于安卓***继续合成渲染新的应用界面。
另外,存储管理器(bufferq)负责多个bufferrender在安卓***和QNX***中高效有序的传递。
其中,所述虚拟显示屏的画布(virtual display的surface)由所述预设内存空间(bufferrender)创建。
在一些实施例中,步骤130,具体可以包括以下步骤:
监测应用界面是否合成完成;
响应于监测到应用界面合成完成,将应用界面传递至实时操作***。
示例性地,可以利用bufferrenderjni通过重写onFrameAvailable方法监听合成后的数据,在监测到应用界面合成完成的情况下,将应用界面传递至实时操作***。其中,上述涉及到的bufferrenderjni可以用于实现java语言和C++语言之间的转换,在开发中,经常会在Java代码与Jni层之间传递数组,一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的Socket代码发送出去,当然,Jni层也需要把从Socket接收到的数据流返回给Java层。
在一些实施例中,步骤140,控制实时操作***将应用界面显示在目标显示屏上,具体可以包括以下步骤:
控制实时操作***通过渲染接口创建应用界面的显存;
控制实时操作***通过显示接口,将显存中的应用界面显示在目标显示屏上。
实时操作***端在获取到应用界面之后,可以通过渲染接口(如:opengleglCreateImageKHR)创建应用界面的显存(如:eglimage),然后控制实时操作***通过显示接口(QNX的screen系),将显存中的应用界面显示在目标显示屏上。
其中,EGLImage代表一种由EGL客户端的应用程序编程接口(如OpenGL,OpenVG)创建的共享资源类型。应用程序以及相关的客户端的应用程序编程接口可以基于任意的目的创建任意类型的共享数据。其中,关于EGLImage的一种使用情景就是通过它来根据传来的预设内存空间中的信息创建纹理信息,即创建显存。
在一种可能的实施例中,实时操作***为QNX操作***;移动操作***为Android操作***。
本申请的实施例,可以通过安卓***的虚拟显示屏,通过hypervisor间共享内存的方式,实现应用界面的投屏,减少硬件资源的使用,提升车载终端性能,以满足更多使用场景。
综上,在本申请实施例中,通过将移动操作***中安装的应用程序与虚拟显示屏建立连接;在虚拟显示屏的画布中合成应用程序的应用界面,能够在虚拟显示屏中合成各种第三方应用程序的应用界面,兼容性强;通过共享内存通道,将应用界面传递至实时操作***;这里,通过共享内存传递合成好的应用界面,无需占用额外的内存资源和处理器资源对生成的应用界面进行数据拷贝,最后,控制实时操作***将应用界面显示在目标显示屏,能够高效便捷的在车载终端的目标显示屏上显示用户所需的应用程序的应用界面。
基于上述图1所示的应用投屏方法,本申请还提供了一种实现应用投屏方法,图2为本申请实施例提供的一种实现应用投屏方法的流程图。
如图2所示,该应用投屏方法,具体如下所示:
首先,在移动操作***(如Android操作***)中,应用程序210通过投屏服务220绑定虚拟显示屏230,在由预设存储空间240创建的画布中,合成应用程序210的应用界面,并将包括应用界面的预设存储空间(即内存地址),传递至存储管理器,由存储管理器控制各个预设存储空间清晰有序的通过共享内存通道260传递至实时操作***(如QNX)中,最后由实时操作***中的存储管理器将应用界面显示在目标显示屏270中,以实现高效便捷地将应用界面投屏显示至车载终端中。
综上,在本申请实施例中,通过将移动操作***中安装的应用程序与虚拟显示屏建立连接;在虚拟显示屏的画布中合成应用程序的应用界面,能够在虚拟显示屏中合成各种第三方应用程序的应用界面,兼容性强;通过共享内存通道,将应用界面传递至实时操作***;这里,通过共享内存传递合成好的应用界面,无需占用数据资源,最后,控制实时操作***将应用界面显示在与车载终端连接的目标显示屏上,能够高效便捷的在车载终端的目标显示屏上显示用户所需的应用程序的应用界面。
基于上述图1所示的应用投屏方法,本申请实施例还提供一种应用投屏装置,如图3所示,该装置300可以包括:
连接模块310,用于将在移动操作***中安装的应用程序与预设的虚拟显示屏建立连接。
合成模块320,用于在虚拟显示屏的画布中合成应用程序的应用界面。
传递模块330,用于通过共享内存通道,将应用界面传递至实时操作***。
显示模块340,用于控制实时操作***将应用界面显示在目标显示屏上。
在一种可能的实现方式中,连接模块310,具体用于:
通过显示屏管理器,获取预先创建的虚拟显示屏;
将应用程序与虚拟显示屏建立连接。
在一种可能的实现方式中,该装置300还可以包括:
写入模块,用于将应用程序的包名写入启动参数,以用于在车载终端中启动应用程序。
在一种可能的实现方式中,传递模块,具体用于:
将应用界面存储于预设内存空间;
将预设内存空间通过共享内存通道传递至实时操作***;
控制实时操作***从预设内存空间中提取应用界面,以及将提取应用界面后的预设内存空间返回至移动操作***。
在一种可能的实现方式中,传递模块,具体用于:
监测应用界面是否合成完成;
响应于监测到应用界面合成完成,将应用界面传递至实时操作***。
在一种可能的实现方式中,显示模块340,具体用于:
控制实时操作***通过渲染接口创建应用界面的显存;
控制实时操作***通过显示接口,将显存中的应用界面显示在目标显示屏上。
在一种可能的实现方式中,实时操作***为QNX操作***;移动操作***为Android操作***。
综上,在本申请实施例中,通过将移动操作***中安装的应用程序与虚拟显示屏建立连接;在虚拟显示屏的画布中合成应用程序的应用界面,能够在虚拟显示屏中合成各种第三方应用程序的应用界面,兼容性强;通过共享内存通道,将应用界面传递至实时操作***;这里,通过共享内存传递合成好的应用界面,无需占用额外的内存资源和处理器资源对生成的应用界面进行数据拷贝,最后,控制实时操作***将应用界面显示在目标显示屏,能够高效便捷的在车载终端的目标显示屏上显示用户所需的应用程序的应用界面。
图4示出了本申请实施例提供的一种电子设备的硬件结构示意图。
在电子设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现图所示实施例中的任意一种应用投屏方法。
在一个示例中,电子设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以执行本申请实施例中的应用投屏方法,从而实现结合图1至图2描述的应用投屏方法。
另外,结合上述实施例中的应用投屏方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现图1至图2中的应用投屏方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种应用投屏方法,其特征在于,应用于车载终端,所述车载终端运行有移动操作***和实时操作***,所述方法包括:
启动投屏服务,将在所述移动操作***中安装的应用程序与预设的虚拟显示屏建立连接,包括:接收用户对应用程序的选中输入;响应于选中输入,将移动操作***中安装的应用程序通过投屏服务绑定虚拟显示屏;
在所述虚拟显示屏的画布中合成所述应用程序的应用界面;
通过共享内存通道,将所述应用界面传递至所述实时操作***;
控制所述实时操作***将所述应用界面显示在目标显示屏上。
2.根据权利要求1所述的方法,其特征在于,所述将在所述移动操作***中安装的应用程序与预设的虚拟显示屏建立连接,包括:
通过显示屏管理器,获取预先创建的所述虚拟显示屏;
将所述应用程序与所述虚拟显示屏建立连接。
3.根据权利要求1所述的方法,其特征在于,在所述虚拟显示屏的画布中合成所述应用程序的应用界面之前,所述方法还包括:
将所述应用程序的包名写入启动参数,以用于在所述车载终端中启动所述应用程序。
4.根据权利要求1所述的方法,其特征在于,所述通过共享内存通道,将所述应用界面传递至实时操作***,包括:
将所述应用界面存储于预设内存空间;
将所述预设内存空间通过共享内存通道传递至所述实时操作***;
控制所述实时操作***将所述预设内存空间映射到显存并从所述显存中提取所述应用界面,以及将释放所述应用界面后的预设内存空间返回至所述移动操作***。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述通过共享内存通道,将所述应用界面传递至所述实时操作***,包括:
监测所述应用界面是否合成完成;
响应于监测到所述应用界面合成完成, 将所述应用界面传递至所述实时操作***。
6.根据权利要求1所述的方法,其特征在于,所述控制所述实时操作***将所述应用界面显示在目标显示屏上,包括:
控制所述实时操作***通过渲染接口创建所述应用界面的显存;
控制所述实时操作***通过显示接口,将所述显存中的应用界面显示在目标显示屏上。
7.根据权利要求1所述的方法,其特征在于,所述实时操作***为QNX操作***;所述移动操作***为Android操作***。
8.一种应用投屏装置,其特征在于,应用于车载终端,所述车载终端运行有移动操作***和实时操作***,所述装置包括:
连接模块,用于启动投屏服务,将在所述移动操作***中安装的应用程序与预设的虚拟显示屏建立连接,包括:接收用户对应用程序的选中输入;响应于选中输入,将移动操作***中安装的应用程序通过投屏服务绑定虚拟显示屏;
合成模块,用于在所述虚拟显示屏的画布中合成所述应用程序的应用界面;
传递模块,用于通过共享内存通道,将所述应用界面传递至所述实时操作***;
显示模块,用于控制所述实时操作***将所述应用界面显示在目标显示屏上。
9.一种车载终端,其特征在于,所述车载终端包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的应用投屏方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的应用投屏方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111642154.7A CN114461158B (zh) | 2021-12-29 | 2021-12-29 | 一种应用投屏方法、装置、车载终端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111642154.7A CN114461158B (zh) | 2021-12-29 | 2021-12-29 | 一种应用投屏方法、装置、车载终端及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114461158A CN114461158A (zh) | 2022-05-10 |
CN114461158B true CN114461158B (zh) | 2024-02-09 |
Family
ID=81407976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111642154.7A Active CN114461158B (zh) | 2021-12-29 | 2021-12-29 | 一种应用投屏方法、装置、车载终端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461158B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904602B (zh) * | 2023-02-23 | 2024-01-26 | 南京芯驰半导体科技有限公司 | 一种应用于多操作***的多窗口投射方法、***和车机 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104054318A (zh) * | 2011-10-28 | 2014-09-17 | 多若公司 | 移动通信终端的改进的操纵和配置 |
CN109725867A (zh) * | 2019-01-04 | 2019-05-07 | 中科创达软件股份有限公司 | 虚拟化屏幕共享方法、装置及电子设备 |
CN109981434A (zh) * | 2019-03-25 | 2019-07-05 | 华勤通讯技术有限公司 | 一种车载智能*** |
CN110456994A (zh) * | 2019-07-19 | 2019-11-15 | 南京芯驰半导体科技有限公司 | 一种远程显示***及方法 |
CN111240626A (zh) * | 2020-01-09 | 2020-06-05 | 中瓴智行(成都)科技有限公司 | 一种基于Hypervisor智能座舱操作***双屏互动的方法和*** |
CN111752684A (zh) * | 2020-06-30 | 2020-10-09 | 北京小米松果电子有限公司 | 显示方法及装置 |
CN112379963A (zh) * | 2020-11-30 | 2021-02-19 | 联想(北京)有限公司 | 远程应用窗口控制方法、装置及计算机设备 |
WO2021217529A1 (zh) * | 2020-04-29 | 2021-11-04 | 华为技术有限公司 | 一种进程间通信的方法及*** |
CN113835663A (zh) * | 2021-09-24 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 显示控制方法、装置、***、电子设备、介质及程序产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619159B2 (en) * | 2014-06-04 | 2017-04-11 | Grandios Technologies, Llc | Storage management system |
US10786033B2 (en) * | 2018-10-29 | 2020-09-29 | Robotarmy Corp. | Racing helmet with visual and audible information exchange |
-
2021
- 2021-12-29 CN CN202111642154.7A patent/CN114461158B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104054318A (zh) * | 2011-10-28 | 2014-09-17 | 多若公司 | 移动通信终端的改进的操纵和配置 |
CN109725867A (zh) * | 2019-01-04 | 2019-05-07 | 中科创达软件股份有限公司 | 虚拟化屏幕共享方法、装置及电子设备 |
CN109981434A (zh) * | 2019-03-25 | 2019-07-05 | 华勤通讯技术有限公司 | 一种车载智能*** |
CN110456994A (zh) * | 2019-07-19 | 2019-11-15 | 南京芯驰半导体科技有限公司 | 一种远程显示***及方法 |
CN111240626A (zh) * | 2020-01-09 | 2020-06-05 | 中瓴智行(成都)科技有限公司 | 一种基于Hypervisor智能座舱操作***双屏互动的方法和*** |
WO2021217529A1 (zh) * | 2020-04-29 | 2021-11-04 | 华为技术有限公司 | 一种进程间通信的方法及*** |
CN111752684A (zh) * | 2020-06-30 | 2020-10-09 | 北京小米松果电子有限公司 | 显示方法及装置 |
CN112379963A (zh) * | 2020-11-30 | 2021-02-19 | 联想(北京)有限公司 | 远程应用窗口控制方法、装置及计算机设备 |
CN113835663A (zh) * | 2021-09-24 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 显示控制方法、装置、***、电子设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN114461158A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3352079A1 (en) | Gateway device, vehicle-mounted network system, and firmware update method | |
US11204757B2 (en) | Server, software update system, and software update apparatus | |
EP4113287A1 (en) | Gateway device, in-vehicle network system, and firmware update method | |
US20130227565A1 (en) | Apparatus and method for managing application for guest operating system | |
CN114461158B (zh) | 一种应用投屏方法、装置、车载终端及可读存储介质 | |
CN105573787A (zh) | 基于车载T-Box实现软件升级的方法及装置 | |
CN112055066B (zh) | 通信方法、装置、诊断设备及计算机可读存储介质 | |
CN111708587A (zh) | 一种实现车载空调屏显示多模应用的装置及方法 | |
US8943488B2 (en) | Video game forward compatibility including software patching | |
CN111731207A (zh) | 车辆配置信息的获取方法、装置、设备以及存储介质 | |
CN114780049A (zh) | 投屏显示方法、装置、电子设备和存储介质 | |
CN113377512A (zh) | 车机***的启动方法、装置及设备 | |
EP3282647A1 (en) | Software security verification method, equipment and system | |
CN115484158B (zh) | 一种基于eSIM卡的车载设备的通信配置方法及装置 | |
CN113631430A (zh) | 车载计算机、计算机执行方法及计算机程序 | |
CN115576627A (zh) | 中间件配置管理方法、装置、设备、存储介质及作业机械 | |
CN114546444A (zh) | 车辆升级方法、装置、电子设备、介质及自动驾驶车辆 | |
CN114090172A (zh) | 跨***的小部件复用方法及装置 | |
CN110968383B (zh) | 一种消息框的显示方法及装置、终端、存储介质 | |
CN112162842A (zh) | 用于撤销请求的方法、装置、电子设备及可读存储介质 | |
CN113051032A (zh) | 应用画面处理方法、装置和*** | |
CN101826062A (zh) | 计算机执行方法以及电子*** | |
CN106445623B (zh) | 一种***组件的启动方法和装置 | |
CN113489898B (zh) | 摄像头的调用方法、装置、交通工具和存储介质 | |
US20030225942A1 (en) | System and method for delivering FPGA programming |
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 | ||
GR01 | Patent grant |