公开/公告号CN113312016A
专利类型发明专利
公开/公告日2021-08-27
原文格式PDF
申请/专利权人 南京市德赛西威汽车电子有限公司;
申请/专利号CN202110506362.8
发明设计人 岳飞;
申请日2021-05-10
分类号G06F3/14(20060101);
代理机构44102 广州粤高专利商标代理有限公司;
代理人练逸夫;曹凤娜
地址 211100 江苏省南京市江宁区胜利路89号紫金研发创业中心4号楼1002室
入库时间 2023-06-19 12:22:51
技术领域
本发明涉及终端应用技术领域,特别是涉及一种车载娱乐系统中双屏异显的方法。
背景技术
现在车载座舱系统,有多屏功能,主要有如下实现方式:一、用更多的主机来实现,因为是多硬件主机实现,导致成本成倍增长;二、一个主机接多个屏幕,只有一个系统主屏幕,其它屏幕显示实现主要是采用视频流的输出,这种方案显示内容有限制,要么同步显示当前主屏幕信息,要么部分应用深入定制,将应用自己需要显示的信息,独立传输到另外的屏幕。
因此非主屏用户可选择有限,且很难进行扩展,比如支持用户自主控制操作,如此导致用户的体验感不好。
发明内容
本发明为克服上述现有技术中,车载娱乐系统只支持单屏显示架构的问题,提供一种车载娱乐系统中双屏异显的方法。
为解决上述技术问题,本发明的技术方案如下:
一种车载娱乐系统中双屏异显的方法,车载娱乐系统基于Android系统,所述车载娱乐系统包括车载主机硬件以及与所述车载主机硬件连接的主屏和副屏,所述方法包括:
对车载娱乐系统的显示管理器、Surfaceflinger进行定制,以将对接驱动扩展为双显示屏物理通路,使副屏的显示设备信息与主屏一致;
对窗口管理层的窗口状态进行双显示屏扩展,以将两个不同应用的窗口状态分别显示在主屏和副屏上;
对应用管理层进行双显示屏应用栈的扩展支持,以放置需要放置在副屏上的应用。
进一步的,作为优选技术方案,将对接驱动扩展为双显示屏物理通路具体包括:
将副屏识别为HDMI设备,并上报给Surfaceflinger服务;
Surfaceflinger上报显示管理器副屏热插拔消息,通知显示管理器对副屏进行连接。
进一步的,作为优选技术方案,在上报给Surfaceflinger服务之前,需要先创建副屏,并执行副屏上电以及相关屏幕信息初始化的操作。
进一步的,作为优选技术方案,将副屏识别为HDMI设备具体为:定义副屏为HDMI设备。
进一步的,作为优选技术方案,对窗口管理层的窗口状态进行双显示屏扩展具体包括:
应用组件在启动时,获取窗口管理器服务实现的窗口会话接口的代理;
通过定制接口设置将要显示屏幕的ID,并传递到窗口管理器服务端;
通过窗口状态调用Surfaceflinger接口创建对应显示屏幕的应用Surface,完成副屏应用和副屏显示的绑定。
进一步的,作为优选技术方案,获取窗口管理器服务实现的窗口会话接口的代理具体包括:
每一个应用组件都关联一个实现了窗口接口的窗口对象;
窗口对象在应用组件的视图对象创建完成之后,通过窗口管理器服务会话代理传递给窗口管理器服务;
窗口管理器服务内部创建窗口状态来关联应用组件的窗口状态。
进一步的,作为优选技术方案,还包括:多显示屏的窗口管理器服务需要为每个显示屏提供当前Focus的窗口状态。
进一步的,作为优选技术方案,对应用管理层进行双显示屏应用栈的扩展支持具体包括:
在不影响主屏的堆栈流程下,为副屏增加一个ActivityStack。
进一步的,作为优选技术方案,所述显示管理器是对显示设备的管理,所述Surfaceflinger是Android系统显示的真正控制服务。
进一步的,作为优选技术方案,所述Android版本小于等于9.0。
与现有技术相比,本发明技术方案的有益效果是:
本发明实现了一个主机系统,使其支持多屏幕的显示,应用可以灵活配置或者定制显示在不同的显示屏幕上,在降低座舱系统硬件成本的同时,非副屏显示跟主屏显示基本没有区别,给予了用户非常好的体验。
附图说明
图1为本发明结构框图。
图2为本发明显示屏加载流程示意图。
图3为本发明应用屏幕显示流程示意图。
图4为本发明应用管理层示意图。
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的;相同或相似的标号对应相同或相似的部件;附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征更易被本领域技术人员理解,从而对本发明的保护范围作出更为清楚的界定。。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制。
此外,若有“第一”、“第二”等术语仅用于描述目的,主要是用于区分不同的装置、元件或组成部分(具体的种类和构造可能相同也可能不同),并非用于表明或暗示所指示装置、元件或组成部分的相对重要性和数量,而不能理解为指示或者暗示相对重要性。
实施例1
本实施例公开一种车载娱乐系统中双屏异显的方法,该车载娱乐系统基于Android系统,该Android版本小于等于9.0。
在本实施例中,车载娱乐系统包括车载主机硬件以及与车载主机硬件连接的主屏(第一个DisplayDevice)和副屏(第二个DisplayDevice)。
如图1所示,所述方法包括:
S10.对车载娱乐系统的显示管理器(DisplayManager)、Surfaceflinger 进行定制,以将对接驱动扩展为双显示屏物理通路,使副屏的显示设备信息与主屏一致。
在本步骤中,显示管理器(DisplayManager)是对显示设备的管理,即对显示屏幕(上述主屏和副屏)的管理,而Surfaceflinger是Android系统显示的真正控制服务。
本步骤如图2所示的显示屏(Display)加载流程,具体包括:
先创建副屏(第二个DisplayDevice),并执行副屏上电 (setPowerModeInternal)以及相关屏幕信息初始化的操作;
将副屏识别为HDMI(Dw-Hdm-Detect-Phy)设备,并上报给Surfaceflinger 服务;
Surfaceflinger上报显示管理器(DisplayManager)副屏热插拔消息,通知显示管理器(DisplayManager)对副屏进行连接,使副屏的显示设备信息与主屏一致,从而完成双显示屏的物理通路,即主屏和副屏的物理通路。
在本实施例中,为了最小化定制系统,直接定义副屏为HDMI设备。
S20.对窗口管理层的窗口状态进行双显示屏扩展,以将两个不同应用的窗口状态分别显示在主屏和副屏上。
在本实施例中,由于应用最终要显示在屏幕上,故此,其在系统中的表现形式就是窗口,双屏异显,即将两个不同应用的窗口显示在不同的屏幕上,即本实施例中的主屏和副屏,系统中管理窗口的服务是WindowManagerService(窗口管理器服务),当前只支持单显示屏窗口显示,故此,需要进行双显示扩展。
本步骤如图3所示,具体包括:
应用组件在启动时,获取窗口管理器服务(WindowManagerService(WMS)) 实现的窗口会话(IWindowSession)接口的代理。
例如:在应用(Activity)侧,每一个应用(Activity)组件都关联一个实现了窗口(IWindow)接口的窗口(W)对象;
窗口(W)对象在应用(Activity)组件的视图对象创建完成之后,通过前面所获得的窗口管理器服务会话((WMS)Session)代理传递给窗口管理器服务 (WMS);
窗口管理器服务(WMS)内部创建窗口状态(WindowState)来关联应用 (Activity)组件的窗口状态(WindowState)。
该应用(Activity)侧,通过定制接口设置将要显示屏幕的ID (setdisplayid),并传递到窗口管理器服务(WMS)端;
通过窗口状态(WindowState)调用Surfaceflinger接口创建对应显示屏幕的应用Surface,完成副屏应用和副屏显示(Display)的绑定,从而实现将两个不同应用的窗口状态分别显示在主屏和副屏上。
在本步骤中,还包括:当显示屏(Display)为多个时,多个显示屏(Display) 的窗口管理器服务(WMS)需要为每个显示屏(Display)提供当前Focus的窗口状态(WindowState),以保证多个显示屏幕的焦点互相不受影响。
在本实施例中,扩展窗口管理器服务(WMS)的焦点窗口(mCurrentFocusExternal),并绑定到对应显示屏幕,即副屏的应用窗口。
S30.对应用管理层进行双显示屏应用栈的扩展支持,以放置需要放置在副屏上的应用。
如图4所示,在本步骤中,应用管理层服务(ActivityManagerService)是对应用(Activity)的管理,其中,关键有一个App栈(App Stack),所有应用运行的应用(Activity)都保存在其中。
在本实施例中,为了能让副屏应用(Activity)也正常显示,同时还不影响到主屏的堆栈流程,为副屏增加一个应用栈(ActivityStack),专门用来放置需要放置在副屏上的应用(Activity)。
本实施例通过上述方法数显了一个主机系统,应用可以指定显示在不同的显示屏幕上,如左边屏幕显示应用A的内容,右边屏幕显示应用B的内容,即,主屏显示应用A的内容,副屏显示应用B的内容,实现双屏异显的效果,根据客户需求灵活配置应用或者定制显示在哪个显示屏幕上,降低座舱系统硬件成本的同时,副屏显示跟主屏显示基本没有区别,给予了用户非常好的体验。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
机译: 一种用于操作信息娱乐系统以获得机动车辆中的音频再现的再现列表的方法以及包括信息娱乐系统信息娱乐系统的机动车辆
机译: 车载垫:-规定iPad mini在车载中作为主要娱乐,导航系统和车载控制信息
机译: 一种用于操作“信息娱乐”的系统-一种机动车辆的系统和一种“信息娱乐”的方法-一种用于机动车辆的系统