发明内容
本发明要解决的技术问题是提供一种车机系统的交互方法、装置和计算机可读介质,实现车机系统的高效、流畅运行和便捷使用。
为解决上述技术问题,本发明提供了一种车机系统的交互方法,所述车机系统包括应用框架层和应用程序层,所述方法包括以下步骤:
接收物理按键被按压而发出的输入信号;车辆输入服务模块将所述输入信号转发至输入管理服务模块;所述输入管理服务模块根据一个或多个应用程序的注册监听信息,判断所述输入信号是否为需要与正在所述应用程序层运行的应用程序进行界面交互的输入信号,如果是,则在所述输入信号对应的数据串中增加校验信息码;所述输入管理服务模块将所述输入信号转发至会话窗口管理模块,所述会话窗口管理模块判断所述输入信号对应的数据串中是否包括校验信息码,如果包括,则将所述输入信号转发至应用程序服务模块;所述应用程序服务模块将所述输入信号传输至正在所述应用程序层运行的应用程序,所述运行的应用程序基于所述输入信号完成相应的应用操作;其中,所述车辆输入服务模块、输入管理服务模块、会话窗口管理模块和应用程序服务模块位于所述应用框架层;所述应用程序层运行的应用程序属于所述一个或多个应用程序。
在本发明的一实施例中,如果所述会话窗口管理模块判断所述输入信号对应的数据串中不包括校验信息码,则由所述输入管理服务模块则将所述输入信号传输至输入分发模块,所述输入分发模块将所述输入信号传输至所述应用程序层正在运行的应用程序。
在本发明的一实施例中,所述应用程序服务模块包括视频会话服务模块、音频会话服务模块和界面展示服务模块。
在本发明的一实施例中,所述车机系统还包括硬件抽象层,所述输入信号通过所述硬件抽象层传输至所述应用框架层。
在本发明的一实施例中,车机系统的交互方法还包括,在所述应用框架层创建车辆功能映射服务模块,所述车辆功能映射服务模块包括车辆功能映射数据集;所述车辆输入服务模块将所述输入信号转发至所述车辆功能映射服务模块;所述车辆功能映射服务模块根据所述车辆功能映射数据集,将所述输入信号对应的映射操作信号传输至映射应用程序,所述映射应用程序包括与所述车辆功能映射数据集关联的回调信息数据;所述映射应用程序根据所述映射操作信号和回调信息数据进行相应的功能映射操作。
在本发明的一实施例中,所述应用操作包括视频/音频音量控制、播放切换或显示界面切换。
在本发明的一实施例中,所述输入信号经过车辆总线和处理器传输至所述硬件抽象层。
在本发明的一实施例中,所述映射应用程序的运行或展示界面位于车辆的不同显示屏上。
本发明还提供一种车机系统的交互装置,包括:存储器,用于存储可由处理器执行的指令;处理器,执行所述指令以实现如前任一项所述的方法。
本发明还提供一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如前任一项所述的方法。
与现有技术相比,本发明具有以下优点:通过按键输入事件在车辆服务模块和应用程序之间的直接传递,能够及时响应按键输入事件,极大降低从按键输入事件对应的输入信号到应用程序进行操作的时延,从而优化车辆使用者的操作体验。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本发明的实施例描述一种车机系统的交互方法、装置和计算机可读介质。
图1是本申请一实施例的车机系统的交互方法流程图。
图2是本申请一实施例的车机系统的交互过程示意图。
参考图2,在一些实施例中,车机系统包括应用框架层(Framework)202和应用程序层(Application)201。
如图1所示,车机系统的交互方法包括,步骤101,接收物理按键被按压而发出的输入信号。步骤102,车辆输入服务模块将所述输入信号转发至输入管理服务模块。步骤103,所述输入管理服务模块根据一个或多个应用程序的注册监听信息,判断所述输入信号是否为需要与正在所述应用程序层运行的应用程序进行界面交互的输入信号,如果是,则在所述输入信号对应的数据串中增加校验信息码。步骤104,所述输入管理服务模块将所述输入信号转发至会话窗口管理模块,所述会话窗口管理模块判断所述输入信号对应的数据串中是否包括校验信息码,如果包括,则将所述输入信号转发至应用程序服务模块。以及步骤105,所述应用程序服务模块将所述输入信号传输至正在所述应用程序层运行的应用程序,所述运行的应用程序基于所述输入信号完成相应的应用操作。
具体地,在步骤101,接收物理按键221被按压而发出的输入信号S1。输入信号S1也可称为输入事件(Input Event)。
在步骤102,车辆输入服务模块CIS将所述输入信号S1转发至输入管理服务模块IMS。CIS对应的英文全拼为CarIputService。IMS对应的英文全拼为InputManagerService。
在步骤103,输入管理服务模块IMS根据一个或多个应用程序的注册监听信息,判断所述输入信号是否为需要与所述一个或多个应用程序中正在所述应用程序层运行的应用程序进行界面交互的输入信号。
如果输入信号S1为需要与所述一个或多个应用程序中正在应用程序层201运行的应用程序进行界面交互的输入信号,则在所述输入信号对应的数据串中增加校验信息码。界面交互例如包括在显示界面上显示使用者的操作效果和提供操作接口供使用者操作。校验信息码例如添加在数据串的末尾。
输入管理服务模块IMS包括一个或多个应用程序的注册监听信息。
在步骤104,所述输入管理服务模块IMS将所述输入信号S1转发至会话窗口管理模块PWMS,所述会话窗口管理模块PWMS判断所述输入信号对应的数据串中是否包括校验信息码,如果包括,则将所述输入信号S1转发至应用程序服务模块APPS。PWMS对应的英文全拼为PhoneWindowMangerService。
接下来,在步骤105,所述应用程序服务模块APSS将所述输入信号S1传输至正在所述应用程序层201运行的应用程序APP1,所述运行的应用程序APP1基于所述输入信号完成相应的应用操作。该应用程序APP1可包括与应用程序服务模块APSS所包含信息对应的应用数据子模块APS。
在一些实施例中,所述应用程序服务模块包括视频会话服务模块、音频会话服务模块和界面展示服务模块。视频会话服务模块和音频会话服务模块也可合称为媒体会话服务模块(MediaSessionService),此时对应的应用数据子模块APS可为媒体会话应用数据子模块MediaSession。所述应用操作例如包括视频/音频音量控制、播放切换或显示界面切换。在这些应用操作中,视频/音频音量控制、播放切换或显示界面切换等功能直接进行操作,并实现相应的运行效果即可,无需提供进一步的交互界面以供使用者进行交互。
在一些实施例中,如果所述会话窗口管理模块PWMS判断所述输入信号S1对应的数据串中不包括校验信息码,则由所述输入管理服务模块IMS则将所述输入信号S1传输至输入分发模块InD(InputDispather),所述输入分发模块InD将所述输入信号S1传输至所述应用程序层正在运行的应用程序APP2。输入分发模块InD将所述输入信号S1传输至所述应用程序层正在运行的应用程序APP2的过程可包括Activity组件的启动,Activity组件启动将创建PhoneWindow子数据模块(简记为PW)和ViewRootImpl子数据模块(简记为VRI),实现应用程序APP2在界面的交互与操作。输入分发模块InD例如属于输入触发模块(Inputflinger)213。
在一些技术方案中,车机系统(或称为车载中控系统)在与汽车的物理按键交互时,采用较多的方式是,物理按键将按键事件传递给车机系统的应用框架层的车辆服务模块(CarService),车辆服务模块再通过系统的Braodcast(广播)组件发送广播的方式将消息发送出去,再由对按键事件感兴趣的应用注册接收系统广播消息,接受到按键事件对应的输入信号后,处理按键事件。该种方案无法及时响应按键事件,广播消息存在一定的时延,可达1-3ms。如存在系统消息处理的拥堵,则时延的时间更长。
而本申请的技术方案能够及时响应按键输入事件,极大降低从输入信号到应用程序进行操作的时延,从而优化车辆使用者的操作体验。
在一些实施例中,车机系统200还包括硬件抽象层203。输入信号S1通过所述硬件抽象层203传输至应用框架层202。
在一些实施例中,输入信号S1还可先传输至车辆总线模块212,再传输至处理器模块(MCU)231,而后再传输至硬件抽象层。在图2的例示中,输入信号S1(或称为输入事件)先传输至硬件抽象层203中的VHAL模块(车辆硬件抽象层模块),再传输至应用框架层202中的车辆服务模块(CarService)211中的第二硬件抽象子模块VH(VehicleHal)。而后再传输至车辆输入服务模块CIS。
在本申请的一些实施例中,车机系统的交互方法还包括,步骤206,在所述应用框架层创建车辆功能映射服务模块,所述车辆功能映射服务模块包括车辆功能映射数据集。步骤207,所述车辆输入服务模块将所述输入信号转发至所述车辆功能映射服务模块。步骤208,所述车辆功能映射服务模块根据所述车辆功能映射数据集,将所述输入信号对应的映射操作信号传输至映射应用程序,所述映射应用程序包括与所述车辆功能映射数据集关联的回调信息数据。步骤209,所述映射应用程序根据所述映射操作信号和回调信息数据进行相应的功能映射操作。
具体地,在步骤206,在所述应用框架层202创建车辆功能映射服务模块CPS,所述车辆功能映射服务模块包括车辆功能映射数据集。CPS对应的英文全拼为CarProjectionService。
在步骤207,车辆输入服务模块CIS将所述输入信号转发至车辆功能映射服务模块CPS。在步骤208,车辆功能映射服务模块CPS根据所述车辆功能映射数据集,将输入信号对应的映射操作信号SP传输至映射应用程序APP3,所述映射应用程序APP3包括与所述车辆功能映射数据集中部分数据对应的回调信息数据CPM(CarProjectionManager)。
接下来,在步骤209,映射应用程序APP3根据所述映射操作信号SP和回调信息数据CPM进行相应的功能映射操作。
在一些实施例中,所述映射应用程序的运行或展示界面位于车辆的不同显示屏上。例如,映射应用程序可在车辆的仪表屏、中控屏(车机系统对应的显示屏)等不同的显示屏上运行或展示,即实现按键输入事件的跨屏幕展示、多屏协同展示及指定屏幕展示等。
例如,映射应用程序可为与按键输入事件的原功能模块不同的功能程序。例如,在侧后视镜的功能设置界面的窗口注册Handler(事件处理者),该事件处理者数据将形成对应的车辆功能映射数据集中的数据和回调信息数据。此时,通过车辆功能映射服务模块实现的映射功能,可以将方向盘上的按键复用为后视镜调节功能,物理按键事件直接发送到侧后视镜调节界面,不再向系统层面发送(例如系统层面广播消息的发送和接收),亦明显降低相应的操作时延。
在一些技术方案中,如果按键事件对应的输入信号通过系统的全局广播等方式进行发送和接收,则无法针对特定应用程序发送按键事件消息,亦无法将按键事件对应的输入信号发送至指定显示屏幕上的应用程序。
而本申请的技术方案中,通过车辆功能映射服务模块和映射应用程序的设置,实现按键事件对应的输入信号对特定应用程序的操作和车辆的多个显示屏的跨屏幕操作,以及多屏协同展示及指定屏幕展示。从而优化车辆使用者的驾乘体验。
本申请还提供一种车机系统的交互装置,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如前所述的方法。
图3示出了根据本申请一实施例示出的车机系统的交互装置的组成示意图。车机系统的交互装置300可包括内部通信总线301、处理器(Processor)302、只读存储器(ROM)303、随机存取存储器(RAM)304、以及通信端口305。车机系统的交互装置300通过通信端口连接网络,并可与其他设备连接。内部通信总线301可以实现车机系统的交互装置300组件间的数据通信。处理器302可以进行判断和发出提示。在一些实施例中,处理器302可以由一个或多个处理器组成。通信端口305可以实现从网络发送和接受信息及数据。车机系统的交互装置300还可以包括不同形式的程序储存单元以及数据储存单元,例如只读存储器(ROM)303和随机存取存储器(RAM)304,能够存储计算机处理和/或通信使用的各种数据文件,以及处理器302所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果可通过通信端口传给用户设备,在用户界面上显示。
上述的车机系统的交互装置300可以实施为计算机程序,保存在存储器中,并可记载到处理器302中执行,以实施本申请的车机系统的交互方法。
本申请还提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的车机系统的交互方法。
本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DAPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘CD、数字多功能盘DVD……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可作出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。