掌桥专利:专业的专利平台
掌桥专利
首页

一种单系统多屏的操控方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:37:02


一种单系统多屏的操控方法、装置、设备及存储介质

技术领域

本发明涉及计算机技术领域,具体的说,涉及的是一种单系统多屏的操控方法、装置、设备及存储介质。

背景技术

随着经济及科技的发展,人们的生活品质日益提升,对于车辆的要求也从最初的代步工具变为舒适的家庭必需品。人们在选择车辆时,越来越关注车载办公娱乐的相关设备,例如通过为一台设备设置主显示屏和至少一个后座显示屏,以供车辆前后排的驾乘人员分别使用对应的显示屏上的应用程序进行办公或者娱乐。但是现有车辆设计中,焦点在主显示屏和副显示屏之间切换,焦点的切换会导致主屏中依赖于焦点的操控失灵。

发明内容

本发明实施例的目的是提供一种单系统多屏的操控方法、装置、设备及存储介质,能够通过将用户输入的事件信息的目标应用包名与预设的目标应用包名进行查询匹配,以确定将事件信息发送给主显示屏或者副显示屏,避免因焦点在主显示屏和副显示屏进行切换导致的主屏操控失灵。

为实现上述目的,本发明实施例提供了一种单系统多屏的操控方法,包括:

获取用户输入的事件信息,并解析所述事件信息得到至少包含目标应用包名的目标应用信息;

根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息发送至主显示屏/副显示屏。

作为上述方案的改进,所述将所述事件信息发送至主显示屏/副显示屏,具体包括:

将所述事件信息通过第一事件传输通道发送至主显示屏;或者,

将所述事件信息通过第二事件传输通道发送至副显示屏。

作为上述方案的改进,所述根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息发送至主显示屏/副显示屏,具体包括:

当所述目标应用信息不包含与预设的副屏应用包名注册表相匹配的目标应用包名时,将所述事件信息通过第一事件传输通道发送至主显示屏的目标应用;

当所述目标应用信息包含与所述副屏应用包名注册表相匹配的目标应用包名时,将所述事件信息通过第二事件传输通道发送至副显示屏的目标应用。

作为上述方案的改进,所述将所述事件信息通过第二事件传输通道发送至副显示屏,具体包括:

根据所述目标应用包名,查询所述副屏应用包名注册表,确定副显示屏的目标窗口;

根据目标坐标信息,查询预设的控件坐标信息表,确定所述副显示屏的目标窗口的目标控件对象;其中,所述目标应用信息还包括所述目标坐标信息;

将所述事件信息发送至所述目标控件对象。

作为上述方案的改进,所述获取用户输入的事件信息之前,还包括:

接收所述副显示屏中的应用发送的应用包名,并将其注册到所述副屏应用包名注册表中。

作为上述方案的改进,所述将所述事件信息通过第一事件传输通道发送至主显示屏,具体包括:

根据所述目标应用信息,确定主显示屏的目标窗口;

基于预设的责任链模式,将所述事件信息发送给所述主显示屏的目标窗口的目标对象。

为实现上述目的,本发明实施例还提供一种单系统多屏的操控装置,包括:

信息获取模块,用于获取用户输入的事件信息,并解析所述事件信息得到至少包含目标应用包名的目标应用信息;

事件发送模块,用于根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息发送至主显示屏/副显示屏。

作为上述方案的改进,所述事件发送模块,具体用于:

根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息通过第一事件传输通道发送至主显示屏或者将所述事件信息通过第二事件传输通道发送至副显示屏。

为实现上述目的,本发明实施例还提供了一种单系统多屏的事件分发设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的单系统多屏的操控方法。

为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的单系统多屏的操控方法。

与现有技术相比,本发明实施例公开的单系统多屏的操控方法、装置、设备及存储介质,通过获取用户输入的事件信息,并对所述事件信息进行解析以得到至少包含目标应用包名的目标应用信息;通过根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,来将所述事件信息发送至主显示屏或者副显示屏。由于在获取用户输入的事件信息之后,先对事件信息进行解析以得到目标应用包名,根据目标应用包名和预设的副屏应用包名注册表来确定事件信息属于主显示屏还是副显示屏,再对事件信息进行对应分发,避免出现现有车辆设计中因副显示屏接收事件导致主屏的焦点变化,进而避免出现依赖于焦点的主屏操控失灵的状况。

附图说明

图1是本发明一实施例提供的一种单系统多屏的操控方法的流程图;

图2是本发明一实施例提供的一种事件分发流程图;

图3是本发明一实施例提供的一种单系统多屏的操控装置的结构示意图;

图4是本发明一实施例提供的一种单系统多屏的操控设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明一实施例提供的一种单系统多屏的操控方法的流程图,所述单系统多屏的操控方法包括:

S1、获取用户输入的事件信息,并解析所述事件信息得到至少包含目标应用包名的目标应用信息;

S2、根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息发送至主显示屏/副显示屏。

值得说明的是,在本实施例中,车辆中设置有一个主显示屏和至少一个副显示屏,主显示屏设置有处理依赖于焦点的事件信息的功能,而副显示屏不具备处理依赖于焦点的事件信息的功能,副显示屏为触摸屏,作为举例地,依赖于焦点的事件信息可以是遥控器的遥控事件信息。

具体地,参见图2所示的事件分发流程图,用户通过手指或者触控笔在主显示屏或者副显示屏上输入事件信息(触摸事件),通过EventHub读取设备节点的事件信息,再调用InputReader从EventHub中来读取事件信息,并对事件信息进行加工处理,得到至少包含目标应用包名的目标应用信息,根据目标应用包名查询匹配预设的副屏应用包名注册表,得到查询匹配结果,由查询匹配结果决定将事件信息发送给主显示屏还是副显示屏。

需要说明的是,副屏应用包名注册表中记载的应用包名为副显示屏上的应用的包名;目标应用包名指的是处理该事件信息的应用的包名。

与现有技术相比,本发明实施例公开的单系统多屏的操控方法,通过获取用户输入的事件信息,并对所述事件信息进行解析以得到至少包含目标应用包名的目标应用信息;通过根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,来将所述事件信息发送至主显示屏或者副显示屏。由于在获取用户输入的事件信息之后,先对事件信息进行解析以得到目标应用包名,根据目标应用包名和预设的副屏应用包名注册表来确定事件信息属于主显示屏还是副显示屏,再对事件信息进行对应分发,避免出现现有车辆设计中因副显示屏接收事件导致主屏的焦点变化,进而避免出现依赖于焦点的主屏操控失灵的状况。

在一种实施方式中,步骤S2中的所述将所述事件信息发送至主显示屏/副显示屏,具体包括:

将所述事件信息通过第一事件传输通道发送至主显示屏;或者,

将所述事件信息通过第二事件传输通道发送至副显示屏。

具体地,结合图2,设置第一事件传输通道(①→⑦→⑧→⑨)和第二事件传输通道(①→②→③→④),将由主显示屏的应用处理的事件信息通过第一事件传输通道进行主显示屏的事件分发,将由副显示屏的应用处理的事件信息通过第二事件传输通道进行副显示屏的事件分发。值得说明的是,由于副显示屏不处理依赖焦点的事件信息,因此,当存在多个副显示屏时,多个副显示屏可共用第二事件传输通道。

在一种实施方式中,步骤S2中的所述根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息发送至主显示屏/副显示屏,具体包括步骤S21~S22:

S21、当所述目标应用信息不包含与预设的副屏应用包名注册表相匹配的目标应用包名时,将所述事件信息通过第一事件传输通道发送至主显示屏的目标应用;

S22、当所述目标应用信息包含与所述副屏应用包名注册表相匹配的目标应用包名时,将所述事件信息通过第二事件传输通道发送至副显示屏的目标应用。

具体地,结合图2,副屏应用包名注册表中记载的应用包名为副显示屏上的应用的包名,调用RseTouchPolicy查询预设的副屏应用包名注册表,当副屏应用包名注册表中没有记载目标应用包名时,即目标应用信息不包含与预设的副屏应用包名注册表相匹配的目标应用包名时,判定事件信息应由主显示屏中的应用进行处理,因此,将事件信息通过第一事件传输通道发送至主显示屏的目标应用,当副屏应用包名注册表中记载有目标应用包名时,即目标应用信息包含与预设的副屏应用包名注册表相匹配的目标应用包名时,判定事件信息应由副显示屏中的应用进行处理,因此,将事件信息通过第二事件传输通道发送至副显示屏的目标应用,主显示屏和副显示屏各个配置有对应的事件分发路径,使得副显示屏的事件分发不影响到主显示屏的焦点。

在一种实施方式中,步骤S22中的所述将所述事件信息通过第二事件传输通道发送至副显示屏,具体包括步骤S221~S223:

S221、根据所述目标应用包名,查询所述副屏应用包名注册表,确定副显示屏的目标窗口;

S222、根据目标坐标信息,查询预设的控件坐标信息表,确定所述副显示屏的目标窗口的目标控件对象;其中,所述目标应用信息还包括所述目标坐标信息;

S223、将所述事件信息发送至所述目标控件对象。

具体地,结合图2,调用RseServer中的RseInputDispatcher,查询副屏应用包名注册表,找到与目标应用包名对应的副显示屏的目标窗口;在确定了目标窗口(RseAPP)后,调用RseinputDispatcherManager,根据目标坐标信息查询预设的控件坐标信息表,找到用于接收事件信息的目标控件对象(目标控件),并将事件信息发送给目标窗口的目标控件对象;其中目标应用信息还包括目标坐标信息。

值得说明的是,副屏应用包名注册表中记载着副显示屏的应用的包名,以及与包名对应的副显示屏,即可以根据目标应用包名找到对应的副显示屏以及对应的副显示屏中的目标窗口。控件坐标信息表的获取方式可以是在检测到副显示屏的应用启动后,主动获取启动的应用的各个控件的坐标,以记录在控件坐标信息表中,也可以在副显示屏的应用启动后,由启动的应用主动将自身各个控件的坐标记载到控件坐标信息表中。作为举例地,控件可以是按钮、导航栏等。

在一种实施方式中,在步骤S1中的所述获取用户输入的事件信息之前,还包括步骤S0:

S0、接收所述副显示屏中的应用发送的应用包名,并将其注册到所述副屏应用包名注册表中。

具体地,结合图2,在副显示屏中的应用启动后,该应用主动上报自身的应用包名,通过RseinputDispatcherManager将自身的应用包名注册到RseServer中的副屏应用包名注册表(⑤→⑥)以及InputFlinger中的副屏应用包名注册表。

可选的,也可以在检测到副显示屏中的应用启动时,获取启动的应用的应用包名进行注册。

在一种实施方式中,步骤S21中的所述将所述事件信息通过第一事件传输通道发送至主显示屏,具体包括步骤S211~S212:

S211、根据所述目标应用信息,确定主显示屏的目标窗口;

S212、基于预设的责任链模式,将所述事件信息发送给所述主显示屏的目标窗口的目标对象。

具体地,结合图2,在InputDispatcher中保存有主显示屏的所有窗口信息,根据目标应用信息,在InputDispatcher中找到主显示屏中的目标窗口(NormalApp),通过InputChannel将事件信息发送给InputEventReceiver,在InputEventReceiver中按照责任链模式的逻辑寻找目标窗口中的目标对象。值得说明的是,责任链模式(Chain ofResponsibility)的定义是:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链,当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。

与现有技术相比,本发明实施例在获取用户输入的事件信息之后,先对事件信息进行解析以得到目标应用包名,根据目标应用包名和预设的副屏应用包名注册表来确定事件信息属于主显示屏还是副显示屏,再对事件信息进行对应分发,避免出现现有车辆设计中因副显示屏接收事件导致主屏的焦点变化,进而避免出现依赖于焦点的主屏操控失灵的状况。

参见图3,是本发明实施例提供的一种单系统多屏的操控装置的结构示意图,所述单系统多屏的操控装置包括:

信息获取模块11,用于获取用户输入的事件信息,并解析所述事件信息得到至少包含目标应用包名的目标应用信息;

事件发送模块12,用于根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息发送至主显示屏/副显示屏。

在一种实施方式中,所述事件发送模块12,具体用于:

根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息通过第一事件传输通道发送至主显示屏或者将所述事件信息通过第二事件传输通道发送至副显示屏。

值得说明的是,具体的所述单系统多屏的操控装置的工作过程可参考上述实施例中所述单系统多屏的操控方法的工作过程,在此不再赘述。

与现有技术相比,本发明实施例公开的单系统多屏的操控装置,通过获取用户输入的事件信息,并对所述事件信息进行解析以得到至少包含目标应用包名的目标应用信息;通过根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,来将所述事件信息发送至主显示屏或者副显示屏。由于在获取用户输入的事件信息之后,先对事件信息进行解析以得到目标应用包名,根据目标应用包名和预设的副屏应用包名注册表来确定事件信息属于主显示屏还是副显示屏,再对事件信息进行对应分发,避免出现现有车辆设计中因副显示屏接收事件导致主屏的焦点变化,进而避免出现依赖于焦点的主屏操控失灵的状况。

参见图4,图4是本发明实施例提供的一种单系统多屏的操控设备的结构示意图。所述单系统多屏的操控设备包括处理器21、存储器22以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,例如行驶控制程序。所述处理器21执行所述计算机程序时实现上述单系统多屏的操控方法实施例中的步骤,例如图1中所示的步骤S1~S5。或者,所述处理器21执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如信息获取模块11。

示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述单系统多屏的操控设备中的执行过程。例如,所述计算机程序可以被分割成信息获取模块11和事件发送模块12,各模块具体功能如下:

信息获取模块11,用于获取用户输入的事件信息,并解析所述事件信息得到至少包含目标应用包名的目标应用信息;

事件发送模块12,用于根据所述目标应用包名在预设的副屏应用包名注册表中的查询匹配结果,将所述事件信息发送至主显示屏/副显示屏。

各个模块具体的工作过程可参考上述实施例所述的单系统多屏的操控装置的工作过程,在此不再赘述。

所述单系统多屏的操控设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述单系统多屏的操控设备可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是单系统多屏的操控设备的示例,并不构成对单系统多屏的操控设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述单系统多屏的操控设备还可以包括输入输出设备、网络接入设备、总线等。

所述处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述单系统多屏的操控设备的控制中心,利用各种接口和线路连接整个单系统多屏的操控设备的各个部分。

所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述单系统多屏的操控设备的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据主显示屏和副显示屏的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述单系统多屏的操控设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

技术分类

06120115978659