一种实现多显示和多用户并发的方法及装置与流程

文档序号:18330865发布日期:2019-08-03 12:12阅读:158来源:国知局
一种实现多显示和多用户并发的方法及装置与流程

本发明实施例涉及车载系统技术领域,尤其涉及一种实现多显示和多用户并发的方法及装置。



背景技术:

为了丰富汽车的功能,提升驾乘体验,汽车上通常都会搭载用于提供信息及娱乐的车载系统。如今随着技术的发展,传统车载系统又进一步演化为智能车载系统,智能车载系统是车载信息娱乐系统的升级版,其先进的导航系统可整合实时交通信息、个人兴趣点以及好友位置等,甚至将汽车扩展到web2.0网络时代,为消费者带来新的驾乘体验。

虽然目前市面上的智能车载系统大部分是单屏系统,但是市场趋势、行业趋势都正朝着双屏乃至多屏系统发展。单屏系统同一时刻只能显示一个窗口的内容,而双/多屏系统则可以在同一时刻显示不同应用窗口(不过同一时刻只能在一个屏幕上操作)。单屏系统由于屏幕只有一个,所以默认都是一个用户,但在双/多屏系统中,因为屏幕有多个,所以多用户同时使用成为可能,换句话说,在一些场景下,车内的多个用户会同时使用车载系统,例如,用户1在使用车载系统的显示设备1(display1),与此同时,用户2在使用车载系统的显示设备2(display2)。

发明人在实现本发明的过程中发现,理想情况下车内多个用户在同时使用车载系统时应该互不干扰,仍然在实际中,使用时会存在很多不方便,例如两个用户想同时查询地图时就会有冲突。在有的现有技术中,可以通过多台主机实现多用户功能,即每台主机对应一个屏幕,然而这种方式成本较高,存在硬件的浪费。在另外的现有技术中,虽然一些操作系统可以提供多用户的功能,例如当前安卓操作系统(androidos)是智能汽车系统的主流,android系统上已经实现了基本的多用户(multiuser)功能,不同的使用者可以用不同的用户账号登录后使用,每个用户环境独立,然而,却无法实现多用户的同时使用,只能在当前用户退出后才能登录第二个用户,所以在应用到双/多屏车载系统时就会存在困难。



技术实现要素:

本发明实施例提供一种实现多显示和多用户并发的方法及装置,以解决同一系统中多用户在使用多个显示设备时相互干扰的问题。

根据本发明实施例的第一方面,提供一种实现多显示和多用户并发的方法,所述方法用于具有多个物理显示设备的智能系统;所述方法包括:

当至少两个用户同时登录时,将每个所述用户均设为前台用户;

获取每个所述用户与各物理显示设备之间的对应关系;

为每个所述用户建立各自的窗口管理系统,以及,将每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联,以使每个所述用户的视图窗口关联到各自窗口管理系统的根窗口;

对于每个用户,当响应绘制事件时,将所述用户的所有视图窗口绘制到显存,输出到与所述用户对应的物理显示设备。

可选的,所述智能系统为车载系统。

可选的,将每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联之后,所述方法还包括:

当所述用户在对应的物理显示设备上产生触摸或者点击事件时,将所述事件和所述物理显示设备的编号上传给映射模块,其中所述映射模块记录了窗口管理系统与物理显示设备之间的映射关系;

通过所述映射模块将所述事件传递给与所述物理显示设备对应的窗口管理系统,以使所述窗口管理系统按照预设逻辑处理所述事件。

可选的,每个所述窗口管理系统还各自对应一个输入服务;通过所述映射模块将所述事件传递给与所述物理显示设备对应的窗口管理系统之后,所述方法还包括:

与所述窗口管理系统对应的输入服务根据所述事件获得输入;

所述输入服务按照预设逻辑为所述用户提供输入法功能。

可选的,获取每个所述用户与各物理显示设备之间的对应关系之前,所述方法还包括:

预先自动配置每个所述用户与各物理显示设备之间的对应关系;或者,

预先根据用户手动操作配置每个所述用户与各物理显示设备之间的对应关系。

可选的,在至少两个用户同时登录之后,所述方法还包括:

当有至少两个用户同时需要输出音频时,获取当前可用的音频输出设备的数量;

如果所述音频输出设备的数量大于或等于需要输出音频的用户数,则按照预设逻辑将不同用户的音频输出到不同的可用音频输出设备;

如果所述音频输出设备的数量小于需要输出音频的用户数,则按照预设逻辑发出提示。

根据本发明实施例的第二方面,提供一种实现多显示和多用户并发的装置,所述装置用于具有多个物理显示设备的智能系统;所述装置包括:

用户管理模块,用于当至少两个用户同时登录时,将每个所述用户均设为前台用户;获取每个所述用户与各物理显示设备之间的对应关系;

窗口管理模块,用于为每个所述用户建立各自的窗口管理系统,以及,将每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联,以使每个所述用户的视图窗口关联到各自窗口管理系统的根窗口;

显示模块,用于对于每个用户,当响应绘制事件时,将所述用户的所有视图窗口绘制到显存,输出到与所述用户对应的物理显示设备。

可选的,所述智能系统为车载系统。

可选的,所述装置还包括:

输入处理模块,用于在每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联之后,当所述用户在对应的物理显示设备上产生触摸或者点击事件时,将所述事件和所述物理显示设备的编号上传给映射单元,其中所述映射单元记录了窗口管理系统与物理显示设备之间的映射关系;通过所述映射单元将所述事件传递给与所述物理显示设备对应的窗口管理系统,以使所述窗口管理系统按照预设逻辑处理所述事件。

可选的,所述输入处理模块还包括多个输入服务,每个所述窗口管理系统各自对应一个输入服务;所述输入处理模块还用于:

与所述窗口管理系统对应的输入服务根据所述事件获得输入;通过所述输入服务按照预设逻辑为所述用户提供输入法功能。

可选的,所述装置还包括:

显示设备配置模块,用于预先自动配置每个所述用户与各物理显示设备之间的对应关系;或者,预先根据用户手动操作配置每个所述用户与各物理显示设备之间的对应关系。

可选的,所述装置还包括:

音频输出管理模块,用于当有至少两个用户同时需要输出音频时,获取当前可用的音频输出设备的数量;如果所述音频输出设备的数量大于或等于需要输出音频的用户数,则按照预设逻辑将不同用户的音频输出到不同的可用音频输出设备;如果所述音频输出设备的数量小于需要输出音频的用户数,则按照预设逻辑发出提示。

本发明实施例提供的技术方案可以包括以下有益效果:

在本发明实施例中,当至少两个用户同时登录系统时,会将每个用户均设为前台用户,获取每个用户与各物理显示设备之间的对应关系,为每个用户建立各自的窗口管理系统,并将每个用户的窗口管理系统与用户各自对应的物理显示设备建立关联,这样便可将每个用户的所有视图窗口输出到与该用户对应的物理显示设备上,从而实现了不同用户在同一智能系统中可以同时使用各自不同的显示设备,每个用户之间的操作及显示内容完全独立,互不影响,进而提高了操作效率,也提升了用户体验,而且还可以灵活配置用户和显示设备的对应关系。另外,本发明方案只需要一个操作系统、一台主机即可,节约了硬件成本。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。此外,这些介绍并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明一示例性实施例示出的一种实现多显示和多用户并发的方法的流程图;

图2是根据本发明一示例性实施例示出的多屏幕场景中屏幕位置示意图;

图3是根据本发明一示例性实施例示出的多屏幕场景中屏幕位置示意图;

图4是根据本发明一示例性实施例示出的用户与屏幕对应关系示意图;

图5是根据本发明一示例性实施例示出的一种实现多显示和多用户并发的方法的流程图;

图6是根据本发明一示例性实施例示出的一种实现多显示和多用户并发的方法的流程图;

图7是根据本发明一示例性实施例示出的多用户场景中音频输出示意图;

图8是根据本发明一示例性实施例示出的一种实现多显示和多用户并发的装置的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据本发明一示例性实施例示出的一种实现多显示和多用户并发的方法的流程图。该方法可以用于具有多个物理显示设备的智能系统,例如车载系统等。

参见图1,该方法可以包括以下步骤:

步骤s101,当至少两个用户同时登录时,将每个所述用户均设为前台用户。

其中至少两个用户可以为两个用户、三个用户、四个用户等,以下一般都以两个用户为例进行描述。两个用户同时登录是指两个用户同时处于已登录的状态,可以包括一个用户先登录、另一个后登录等多种情况,对此本实施例并不进行限制。

在现有技术中,当有两个或多个用户同时登录时,其处理策略是同一个时刻只有一个用户处于前台,显示设备上显示该处于前台的用户的窗口/视图信息。而在本发明实施例中,已登录的多个用户不区分前台用户和后台用户,同时都是前台用户,不同用户的显示内容占用不同的物理显示设备。

步骤s102,获取每个所述用户与各物理显示设备之间的对应关系。

本实施例可以用于具有多个物理显示设备的智能系统,以车载系统为例,可参见图2所示,图2是根据本发明一示例性实施例示出的多屏幕时的屏幕位置示意图,在图2中该车载系统具有201、202两个物理显示设备(如触摸显示屏)。

当然在本发明其他实施例中,两个触摸显示屏的位置也可以不是图2所示的样子,而是其他样式,例如如图3中301、302所示。对于物理显示设备的数量及位置,本实施例并不进行限制,本领域技术人员可以根据不同需求\不同场景而自行选择、设计,可以在此处使用的这些选择和设计都没有背离本发明的精神和保护范围。

以车载系统具有两个屏幕、用户1和用户2同时登录为例,车载系统需要确定哪个用户显示在哪个屏幕上,故需要获取每个用户与各物理显示设备之间的对应关系。例如配置为用户0使用显示设备0(display0)、用户1使用显示设备1…用户n使用显示设备n。另外容易理解的是,有些情况下在用户和物理显示设备之间可能有一层虚拟显示设备,物理设备和虚拟显示设备之间也有类似的对应关系。

作为示例,对于各用户与各物理显示设备之间的对应关系,可以由车载系统自动确定,例如按照登录的先后顺序分配显示屏,或者也可以由用户自己手动选择显示屏,对此本实施例并不进行限制。故在本实施例或本发明其他某些实施例中,获取每个所述用户与各物理显示设备之间的对应关系之前,所述方法还可以包括:

预先自动配置每个所述用户与各物理显示设备之间的对应关系;或者,

预先根据用户手动操作配置每个所述用户与各物理显示设备之间的对应关系。

步骤s103,为每个所述用户建立各自的窗口管理系统,以及,将每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联,以使每个所述用户的视图窗口关联到各自窗口管理系统的根窗口。

在本发明实施例中,存在多个窗口管理系统,即每个用户都有其对应的窗口管理系统,每个用户的窗口管理系统与每个用户的显示设备建立关联。当系统启动后,窗口管理系统建立,该用户的视图窗口都会关联到窗口管理系统的根窗口上。而现有技术中,通常都是只有一个窗口管理系统,窗口的内容输出到指定的显示设备上。

步骤s104,对于每个用户,当响应绘制事件时,将所述用户的所有视图窗口绘制到显存,输出到与所述用户对应的物理显示设备。

绘制器响应绘制事件,将当前用户的所有窗口视图绘制到显存,输出到与该用户对应的显示设备。

作为示例可参见图4所示,图4是根据本发明一示例性实施例示出的用户与屏幕对应关系示意图,在图4中用户401和用户402可以在同一车载系统中同时使用各自不同的显示设备,每个用户之间的操作及显示内容完全独立,互不影响。

另外,针对后续的界面/视图/窗口的输入处理,参见图5所示,在本实施例或本发明其他某些实施例中,将每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联之后,所述方法还可以包括:

步骤s501,当所述用户在对应的物理显示设备上产生触摸或者点击事件时,将所述事件和所述物理显示设备的编号上传给映射模块,其中所述映射模块记录了窗口管理系统与物理显示设备之间的映射关系。

步骤s502,通过所述映射模块将所述事件传递给与所述物理显示设备对应的窗口管理系统,以使所述窗口管理系统按照预设逻辑处理所述事件。

用户在显示设备上产生触摸或者点击事件时,内核将事件和输入设备号上传给窗口管理系统与显示设备的映射模块,映射模块根据映射关系将事件传递给窗口管理系统,窗口管理系统可以仍按照单窗口管理系统原来逻辑去处理事件。在现有技术一般都是只有一个窗口管理系统,显示设备上产生的事件会传递给该窗口管理系统,而本发明实施例中为不同用户都配备了各自的窗口管理系统。

此外,针对输入服务的输入处理,在本实施例或本发明其他某些实施例中,每个所述窗口管理系统还各自对应一个输入服务;通过所述映射模块将所述事件传递给与所述物理显示设备对应的窗口管理系统之后,所述方法还可以包括:

与所述窗口管理系统对应的输入服务根据所述事件获得输入;

所述输入服务按照预设逻辑为所述用户提供输入法功能。

基于上面的界面/视图/窗口的输入处理,输入服务获得输入,后续就跟原有的输入服务一样为用户提供输入法功能。现有技术一般都是只有一个窗口管理系统,只有一个输入服务。而本发明则是一个窗口管理系统对应一个输入服务。

此外,为了解决多用户多屏幕使用时的声音问题,在本实施例或本发明其他某些实施例中,参见图6所示,在至少两个用户同时登录之后,所述方法还可以包括:

步骤s601,当有至少两个用户同时需要输出音频时,获取当前可用的音频输出设备的数量。

例如可参见图7所示,图7是根据本发明一示例性实施例示出的多用户场景中音频输出示意图,在图7场景下,车内当前有两个可用的音频输出设备,一个是车载音响701,一个是已连接车载系统的蓝牙耳机702。

步骤s602,如果所述音频输出设备的数量大于或等于需要输出音频的用户数,则按照预设逻辑将不同用户的音频输出到不同的可用音频输出设备。

例如,预设逻辑可以是按照用户的登录顺序为用户分配音频输出设备,或者,预设逻辑也可以是由用户自己手动选择音频输出设备,对此本发明实施例并不进行限制。

步骤s603,如果所述音频输出设备的数量小于需要输出音频的用户数,则按照预设逻辑发出提示。

例如可以语音提示用户需要增加音频输出设备等等。

在本实施例中,当至少两个用户同时登录系统时,会将每个用户均设为前台用户,获取每个用户与各物理显示设备之间的对应关系,为每个用户建立各自的窗口管理系统,并将每个用户的窗口管理系统与用户各自对应的物理显示设备建立关联,这样便可将每个用户的所有视图窗口输出到与该用户对应的物理显示设备上,从而实现了不同用户在同一智能系统中可以同时使用各自不同的显示设备,每个用户之间的操作及显示内容完全独立,互不影响,进而提高了操作效率,也提升了用户体验,而且还可以灵活配置用户和显示设备的对应关系。另外,本发明方案只需要一个操作系统、一台主机即可,也节约了硬件成本。

作为示例,下面再以安卓(android)系统为基础对本发明方案作进一步描述。当然以下应用场景为例仅为示例性的,在实际应用中,也可以适用于其它应用场景。

以下涉及到的函数名或类名等也仅仅是示例性的,技术人员在具体实现本发明方案时也可以根据情况使用其他函数名、类名等,对此本发明不并进行限制。

android是一种基于linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由google公司和开放手机联盟领导及开发。在多用户(multiuser)模式下,不同用户运行在不同的用户空间,共享具体的应用实例(即不同的用户下,其应用版本是一致的),但拥有各自不同的配置。display:代表了硬件显示屏幕信息。activity:相当于mvc(model-view-controller模型-视图-控制器)模式中的控制器,聚焦于用户的动作。view:相当于mvc模式下的视图。window:表示一个窗口,一般来说大小取值为屏幕大小,window一般与display绑定。

activity的显示控制:

1)设置用户与display之间的对应关系,例如user0对应display0,user1对应display1,userx对应displayx;

2)当前用户(user0)打开、操作的activity,统一管理,可以与单用户时表现一致,但只出现在当前用户的display里;

3)activity创建时先建立window,window此时会根据acitvity的user来关联对应的display,window会通过rootviewimpl与windowmanagerservice建立windowsession(通过windowstate),都能通过userid管理起来。

4)windowmanagerservice通过inputchannel来获得用户输入,响应用户事件

5)viewrootimpl通过定时执行choreographer响应vsync事件,处理用户输入,动画刷新,最后触发绘制。view更新内容到canvas,canvas然后将内容更新到surface的buffer,然后交给surfaceflinger绘制。

input处理(inputmethond和touch):

1)view获得焦点时通过inputmethodmanager向inputmethodmanagerservice请求显示输入法。

2)inputmethodmanagerservice收到请求后,会将请求的view(例如edittext)的数据通信接口发送给当前输入法,并请求显示输入法。这里需要注意把输入键盘显示在当前用户对应的display里。

3)输入法收到请求后,就显示自己的uidialog,同时保存目标view的数据结构,当用户实现输入后,直接通过view的数据通信接口将字符传递到对应的view。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图8是根据本发明一示例性实施例示出的一种实现多显示和多用户并发的装置的示意图。该装置可以用于具有多个物理显示设备的智能系统,例如车载系统等。

参见图8所示,该装置可以包括:

用户管理模块801,用于当至少两个用户同时登录时,将每个所述用户均设为前台用户;获取每个所述用户与各物理显示设备之间的对应关系。

窗口管理模块802,用于为每个所述用户建立各自的窗口管理系统,以及,将每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联,以使每个所述用户的视图窗口关联到各自窗口管理系统的根窗口。

显示模块803,用于对于每个用户,当响应绘制事件时,将所述用户的所有视图窗口绘制到显存,输出到与所述用户对应的物理显示设备。

在本实施例或本发明其他某些实施例中,对于各用户与各物理显示设备之间的对应关系,可以由车载系统自动确定,例如按照登录的先后顺序分配显示屏,或者也可以由用户自己手动选择显示屏,对此本实施例并不进行限制。因此所述装置还可以包括:

显示设备配置模块,用于预先自动配置每个所述用户与各物理显示设备之间的对应关系;或者,预先根据用户手动操作配置每个所述用户与各物理显示设备之间的对应关系。

另外,针对后续的界面/视图/窗口的输入处理,在本实施例或本发明其他某些实施例中,所述装置还可以包括:

输入处理模块,用于在每个所述用户的窗口管理系统与用户各自对应的物理显示设备建立关联之后,当所述用户在对应的物理显示设备上产生触摸或者点击事件时,将所述事件和所述物理显示设备的编号上传给映射单元,其中所述映射单元记录了窗口管理系统与物理显示设备之间的映射关系;通过所述映射单元将所述事件传递给与所述物理显示设备对应的窗口管理系统,以使所述窗口管理系统按照预设逻辑处理所述事件。

此外,针对输入服务的输入处理,在本实施例或本发明其他某些实施例中,所述输入处理模块还包括多个输入服务,每个所述窗口管理系统各自对应一个输入服务;所述输入处理模块还用于:

与所述窗口管理系统对应的输入服务根据所述事件获得输入;通过所述输入服务按照预设逻辑为所述用户提供输入法功能。

此外,为了解决多用户多屏幕使用时的声音问题,在本实施例或本发明其他某些实施例中,所述装置还可以包括:

音频输出管理模块,用于当有至少两个用户同时需要输出音频时,获取当前可用的音频输出设备的数量;如果所述音频输出设备的数量大于或等于需要输出音频的用户数,则按照预设逻辑将不同用户的音频输出到不同的可用音频输出设备;如果所述音频输出设备的数量小于需要输出音频的用户数,则按照预设逻辑发出提示。

关于上述实施例中的装置,其中各个单元\模块执行操作的具体方式已经在相关方法的实施例中进行了详细描述,此处不再赘述。

在本实施例中,当至少两个用户同时登录系统时,会将每个用户均设为前台用户,获取每个用户与各物理显示设备之间的对应关系,为每个用户建立各自的窗口管理系统,并将每个用户的窗口管理系统与用户各自对应的物理显示设备建立关联,这样便可将每个用户的所有视图窗口输出到与该用户对应的物理显示设备上,从而实现了不同用户在同一智能系统中可以同时使用各自不同的显示设备,每个用户之间的操作及显示内容完全独立,互不影响,进而提高了操作效率,也提升了用户体验,而且还可以灵活配置用户和显示设备的对应关系。另外,本发明方案只需要一个操作系统、一台主机即可,也节约了硬件成本。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1