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

投屏方法、装置、存储介质及电子设备

文献发布时间:2023-06-19 12:16:29


投屏方法、装置、存储介质及电子设备

技术领域

本申请涉及计算机技术领域,尤其涉及一种投屏方法、装置、存储介质及电子设备。

背景技术

随着通信技术的发展,投屏技术得到了广泛的应用,投屏是指将一个设备上的待投屏的投屏内容投放到另一个设备上进行显示,投屏也叫多屏互动,例如,将手机上的视频投放到智能电视上进行播放,这样用户就能在智能电视上浏览手机上的视频。又如将手机上的应用画面投放到会议平板上进行显示。

发明内容

本申请实施例提供了一种投屏方法、装置、存储介质及电子设备,所述技术方案如下:

第一方面,本申请实施例提供了一种投屏方法,所述方法包括:

获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备;

确定各所述投屏显示设备对应的显示内容容器;

将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。

第二方面,本申请实施例提供了一种投屏装置,所述装置包括:

投屏获取模块,用于获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备;

容器确定模块,用于确定各所述投屏显示设备对应的显示内容容器;

投屏显示模块,用于将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

在本申请一个或多个实施例中,电子设备通过获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备,然后确定各所述投屏显示设备对应的显示内容容器,通过将每个所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。这样多个投屏显示设备的投屏显示可不限于电子设备本地屏幕显示的影响,各投屏显示设备之间投屏显示内容可相互独立互不干扰,实现的多投屏设备投屏显示不同的内容,提升了多投屏设备投屏时的智能性,投屏显示内容可实现多设备多样化显示。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种投屏方法的流程示意图;

图2是本申请实施例提供的一种投屏方法涉及的场景示意图;

图3是本申请实施例提供的另一种投屏方法的流程示意图;

图4是本申请实施例提供的一种操作场景的示意图;

图5是本申请实施例提供的另一种投屏方法的流程示意图;

图6是本申请实施例提供的一种投屏系统的架构示意图;

图7是本申请实施例提供的一种投屏装置的结构示意图;

图8是本申请实施例提供的一种投屏显示模块的结构示意图;

图9是本申请实施例提供的一种电子设备的结构示意图;

图10是本申请实施例提供的操作系统和用户空间的结构示意图;

图11是图9中安卓操作系统的架构图;

图12是图9中IOS操作系统的架构图。

具体实施方式

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

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

下面结合具体的实施例对本申请进行详细说明。

在一个实施例中,如图1所示,特提出了一种投屏方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的投屏装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。所述投屏装置可以为终端设备,包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、5G网络或未来演进网络中的终端设备等。

具体的,该投屏方法包括:

S101:获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备。

所述投屏显示设备可以理解为一种投屏接收端,用于接收执行主体发射的投屏内容并进行展示,投屏显示设备也即用于展示投屏内容的电子设备,可以是液晶显示器、电子墨水屏、投影仪等显示装置,

本申请执行所述投屏方法的执行主体可属于一种投屏发射端,投屏发射端是指用于将投屏内容发送至投屏显示设备进行显示的电子设备,可以是电脑、手机、平板电脑等电子设备,其中,电子设备和投屏显示设备之间建立通信连接,在电子设备和投屏显示设备建立通信连接时,电子设备将投屏内容发送至投屏显示设备,投屏显示设备对投屏内容进行展示。

所述业务服务可理解为投屏显示场景中由用户基于投屏需求确定的投屏显示服务,所述业务服务的类型有多种,包括但不限于针对应用投屏的应用投屏显示服务、针对多媒体资源(如图片、视频、音频)的资源投屏显示服务、针对电子设备当前屏幕显示界面的同屏投屏显示服务(即电子设备和投屏显示设备显示相同的界面内容)、针对应用快捷功能投屏的快捷功能投屏显示服务等等。

具体的,在本申请中,电子设备可对用户当前的人机操作进行检测,当监测到针对待投屏的业务服务所对应的选中操作时,如针对待投屏的应用、多媒体资源、应用的快捷功能等业务服务所发起的选中操作,选中操作为用户针对期望在投屏显示设备上进行投屏显示的前述业务服务所做出的,通常在触发该选中操作,由于在多屏互动场景下可使用户在不同多投屏显示设备上分享展示电子设备本端的业务服务所对应的投屏数据,此时需要确定选中操作后续的具体投屏显示的投屏接收端,也即具体的投屏显示设备;

进一步的,电子设备可对该选中操作进行响应,电子设备可展现可进行投屏显示的多个可投屏的参考投屏设备,以供用户针对前述选中的业务服务选择期望的投屏显示设备,在投屏显示设备由用户选定后,此时可确定业务服务所对应的投屏显示设备,也即用户所选择的将该业务服务所投屏显示的投屏接收端。

整个过程中,用户可针对至少两个以上的业务服务进行选中,选中时序可以是用户依次选择一个业务服务和各业务服务所对应的投屏显示设备,也可以是用户同时选中至少两个以上的业务服务然后分别为各业务服务选择所期望投屏显示的投屏显示设备。在本申请中,所示出的所述投屏方法可以实现对用户选择的两个以上的投屏业务服务进行多投屏设备的同时显示,也即各投屏显示设备可基于执行主体电子设备作为数据显示源,来实现各投屏显示设备独立显示所期望投屏的业务服务,如在投屏显示设备1上实现对业务服务-即时应用1的显示乃至针对即时应用1的相关操作,又如同时在投屏显示设备2上实现对业务服务-视频资源2的显示乃至针对视频资源2的相关操作...又如同时在投屏显示设备n上实现对业务服务-应用快捷功能n的显示乃至针对应用快捷功能n的相关操作。可避免相关技术中,多个投屏显示设备进行显示时仅能显示与电子设备本地屏幕相同的界面显示内容。

在一种具体的实施场景中,电子设备可分别响应于针对至少两个待投屏的业务服务所对应的服务选中操作,服务选中操作可以不限于针对业务服务的拖拽操作、移动操作、双击操作、单击操作等类型操作,在电子设备识别到针对业务服务的服务选中操作之后,电子设备可显示当前已建立或可建立通信连接的用于多屏互动场景下的投屏显示设备的设备投屏图标,所述设备投屏图标用于向当前用户表征设备投屏图标所对应的投屏显示设备上可用于进行业务服务的投屏显示。

也即,电子设备可分别响应于针对至少两个待投屏的业务服务所对应的服务选中操作,然后显示至少两个投屏显示设备对应的设备投屏图标;

电子设备可基于所述服务选中操作对应的操作位置信息和各所述设备投屏图标,确定各所述业务服务分别对应的投屏显示设备。

示意性的,如图2所示,图2是一种投屏方法涉及的场景示意图,在图2所示电子设备的应用桌面上排列有多个应用程序对应的图标,假设此时用户需要投屏的业务服务为前述提及的针对应用投屏的应用投屏显示服务,也即用户可在应用桌面上选择应用,然后确定该应用对应的投屏显示设备进行投屏显示。另外,该应用若投屏至投屏显示设备,可支持在投屏显示设备在操作该应用。

具体实施中,电子设备通常可具有触摸屏,所述触摸屏可以是能够实现单一触摸功能的触摸屏,例如:电容触摸屏、电磁触摸屏,也可以是能够同时实现电容感应、电磁感应和红外感应的触摸屏。当用户通过手指触摸电子设备上的触摸屏上的如图2所示的“应用14”图标时,触摸位置的电容参数发生变化,触摸框根据电容的变化,确定手指在终端触摸屏的触摸位置;或者,手指在接触触摸框时,阻挡了红外的接收端接收红外信号,触摸框根据被阻挡的红外信号确定手指的触摸位置,通过识别所述触摸位置对应的逻辑控制指令对应的代码,电子设备可以检测到用户针对业务服务-“应用14”所输入的选中操作,电子设备响应于该选中操作触发时在如图2中显示至少两个投屏显示设备对应的设备投屏图标,如设备1、设备2、......设备n。然后基于后续选中操作对应的操作位置信息,来确定用户针对该业务服务所期望投屏的投屏显示设备,所述操作位置信息可以包括选中操作所对应的移动轨迹、操作过程中的移动位置等。

进一步的,所述选中操作可包括针对业务服务的第一子操作和针对业务服务对应的投屏显示设备的第二子操作,第一子操作用于选择所期望投屏的业务服务,第二子操作用户针对业务服务选中所期望投屏的投屏显示设备。

实际实施中,电子设备响应于针对在如图2所示当前屏幕界面上输入的针对业务服务(“应用14”图标)的第一子操作,显示至少两个投屏显示设备对应的设备投屏图标;电子设备响应在所述第一子操作基础上持续输入的第二子操作,获取该第二子操作的操作位置信息,所述操作位置信息可以是移动位置。例如第二子操作可以是拖动该(“应用14”图标)至用户所期望的针对所述业务服务的投屏显示设备,如图2所示,针对(“应用14”图标)所示的投屏显示设备可以是设备1。

整个过程中,用户可针对至少两个以上的业务服务如图2所示的应用进行选中,选中时序可以是用户依次选择一个应用和各应用所对应的投屏显示设备,如向选择应用14.再选择针对应用14所期望投屏的设备1,继续选择应用13再选择针对应用13所期望投屏的设备2;

也可以是用户同时选中至少两个以上的业务服务如图2所示的应用然后分别为各业务服务选择所期望投屏显示的投屏显示设备。如向选择应用14和应用13再选择针对应用14和应用13分别所期望投屏的设备1和设备2;具体实施过程可基于实施环境进行业务逻辑开发,基于该业务逻辑可实现前述选择操作过程。

S102:确定各所述投屏显示设备对应的显示内容容器。

所述显示内容容器在本申请中用于管理设备屏幕显示,以电子设备为例,执行主体电子设备在本地屏幕上进行显示可基于本地显示内容容器进行,为实现多设备投屏场景,且实现多设备可显示基于电子设备的不同业务服务所对应的显示像帧,实施中可基于在与已连接或可建立通信连接的投屏显示设备来建立单独的显示内容容器,基于各投屏显示设备分别对应的显示内容容器去实现针对用户所期望的业务服务的投屏显示。所述业务服务根据一些实施例中,可以是针对应用投屏的应用投屏显示服务、针对多媒体资源(如图片、视频、音频)的资源投屏显示服务、针对电子设备当前屏幕显示界面的同屏投屏显示服务等等。

在一种可行的实施方式中,电子设备若已经建立与当前所选中的投屏显示设备的投屏通信连接,通常电子设备在连接建立之后,可随之创建针对投屏显示设备的显示内容容器,显示内容容器在电子设备本端用于实现对业务服务的显示内容(如应用、应用快捷功能、多媒体资源)的加载以及显示图层的渲染,在显示内容容器中在当前界面图像帧(当前界面图像帧为显示内容容器实质对应的显示设备上的界面显示内容,不一定是电子设备本地屏幕所对应的界面图像帧)完成,即随之将显示内容容器中该当前界面图像帧的数据发送至投屏显示设备进行显示内容的显示。进一步的,在建立针对投屏显示设备所对应的显示内容容器时,可对“投屏显示设备”与“显示内容容器”之前的映射关系进行保存,在一些实施方式中,可以是以投屏显示设备对应的设备标识来建立与显示内容容器的映射关系。

以便在涉及到实际投屏显示场景时,如需要将用户所期望的业务服务进行投屏显示时,可基于该映射关系确定投屏显示设备所对应的显示内容容器。

S103:将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。

在一些实施例中,电子设备可建立与当前所选中的投屏显示设备的投屏通信连接,可在执行步骤S101之后,随之触发建立与期望数量(业务服务对应的投屏设备数量)的投屏显示设备的投屏通信连接,然后在随之创建针对投屏显示设备的显示内容容器。示意性的,在投屏发起过程中,电子设备可基于投屏显示设备的投屏通信协议(如WifiDisplay协议)创建与投屏显示设备的投屏通信连接,电子设备的操作系统可同时系统窗口管理服务(如WindowManagerService,WMS服务)创建针对投屏显示设备显示内容容器,以安卓系统为例,显示内容容器可以DisplayContent进行表征,DisplayContent容器可理解为用于电子设备操作系统用于描述物理显示屏特征的容器类,每一个DisplayContent可表征一块设备显示屏,DisplayContent中通常可包含设备屏幕信息,在本申请可用于指定的业务服务对应业务服务活动创建的显示窗口最终基于显示内容容器呈现在“显示内容容器”所对应的投屏显示设备上。

在一些实施方式中,所述显示内容容器可以用于承载或容纳针对业务服务(如应用、多媒体资源)的业务交互逻辑,如在投屏显示设备上的针对业务服务的人机交互操作。

具体实施中,电子设备的操作系统包含的活动管理器(如ActivityRecord)用于对业务服务进行活动管理,基于该活动管理器通过将业务服务对应的服务活动(如Activity)与相应的显示内容容器建立映射关系,如将服务活动与相应的显示内容容器进行绑定。实际应用中,由于整个投屏过程源于用户在电子设备本端屏幕上进行交互,在电子设备上由用户确定的业务服务通常在本地显示时,业务服务与电子设备本地显示容器相关联,本地显示容器可容纳业务服务和其他功能业务服务之外的设备服务在其上加载显示每一帧电子设备本地界面帧图像,可理解为一帧逻辑屏幕上的界面帧图像由其相对于的显示容器中所包含的所有功能服务(可包含前述业务服务)的界面显示窗口的显示叠加。当用户在电子设备上确定至少两个业务服务,一种可行的实施方式中电子设备可基于本地显示容器获取到针对各业务服务分别对应的界面显示窗口,电子设备仅需将各所述业务服务所对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器即可,从而电子设备将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示,也即电子设备基于显示内容容器中的屏幕图像刷新频率将每一帧界面显示图像(帧)基于与投屏显示设备的投屏通信连接发送至投屏显示设备进行显示。

在本申请实施例中,电子设备通过获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备,然后确定各所述投屏显示设备对应的显示内容容器,通过将每个所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。这样多个投屏显示设备的投屏显示可不限于电子设备本地屏幕显示的影响,各投屏显示设备之间投屏显示内容可相互独立互不干扰,实现的多投屏设备投屏显示不同的内容,提升了多投屏设备投屏时的智能性,投屏显示内容可实现多设备多样化显示。以及,投屏交互过程中可仅基于响应选中操作显示相应设备图标即可实现快速投屏,投屏操作更简单快捷。

请参见图3,图3是本申请提出的一种投屏方法的另一种实施例的流程示意图。具体的:

S201:确定建立与至少两个投屏显示设备的投屏连接,分别针对各所述投屏显示设备创建显示内容容器。

根据一些实施例中,所述投屏连接可理解为基于通信网络的用于投屏显示的通信连接,如常用的无线投屏连接。

其中,无线投屏连接是反映进行无线投屏的电子设备与投屏显示设备间的对应关系。具体地,电子设备可直接与接入相同无线局域网的投屏显示设备建立无线投屏连接,也可通过网络中继服务器建立与连接至该网络中继服务器的投屏显示设备之间的无线投屏连接。

进一步的,电子设备与投屏显示设备接入同一个无线局域网时,电子设备可直接与该投屏显示设备建立无线投屏连接;或者,基于网络中继服务器创建了一个投屏房间,电子设备与投屏显示设备各自依据各自的设备标识或者投屏设备标识加入这个房间,便建立了无线投屏连接,此时不限定终端与投屏设备接入同一个无线局域网。

在一些实施例中,与本地电子设备建立投屏连接的投屏显示设备可以是多个。当投屏设备的数量为多个时,可以是一对多投屏,比如多方远程会议场景等。

在一个具体的实施例中,电子设备上可安装有投屏应用,或者,安装有集成了投屏代码的非投屏应用。电子设备则可在运行该投屏应用或者集成了投屏代码的非投屏应用后,根据用户指令建立与投屏显示设备之间的无线投屏连接。投屏应用是专用于投屏的应用程序,集成了投屏代码的非投屏应用是非专用于投屏但具有投屏功能的应用程序,如微信应用等。电子设备可根据用户指令自定义安装或卸载投屏应用或集成了投屏代码的非投屏应用。

根据一些实施例中,电子设备在确定建立与至少两个投屏显示设备的投屏连接之后,可分别针对各所述投屏显示设备创建显示内容容器,实际实施中,电子设备的操作系统可同时控制系统窗口管理服务(如WindowManagerService,WMS服务)创建针对投屏显示设备显示内容容器,以安卓系统为例,显示内容容器可以DisplayContent进行表征,DisplayContent容器可理解为用于电子设备操作系统用于描述物理显示屏特征的容器类,每一个DisplayContent可表征一块设备显示屏,DisplayContent中通常可包含设备屏幕信息,在本申请可用于指定的业务服务对应业务服务活动创建的显示窗口最终基于显示内容容器呈现在“显示内容容器”所对应的投屏显示设备上。

S202:获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备;

具体可参见步骤S101,此处不再赘述。

S203:确定各所述投屏显示设备对应的显示内容容器;

具体可参见步骤S102,此处不再赘述。

S204:在本地显示内容容器关联的所有服务活动中,确定各所述业务服务对应的目标服务活动。

所述本地显示内容容器用于在本地显示基于所述服务活动渲染生成的本地界面图像;

在一些实施例中,所述显示内容容器可以用于承载或容纳针对所有服务活动(如应用、应用快捷功能、多媒体资源)的业务交互逻辑,如在电子设备本地上的针对业务服务的人机交互操作。

进一步的,电子设备的操作系统包含的活动管理器(如ActivityRecord)用于对所有功能服务进行活动管理,基于该活动管理器通过将所有功能服务对应的服务活动(如Activity)与本地显示内容容器建立映射关系,如将所以功能服务(如应用服务、应用快捷功能服务、多媒体资源服务等)与相应的服务活动进行绑定。在电子设备上由用户确定的业务服务通常在本地显示时,业务服务与电子设备本地显示容器相关联,本地显示容器可容纳业务服务和其他功能业务服务之外的设备服务在其上加载显示每一帧电子设备本地界面帧图像,可理解为一帧逻辑屏幕上的界面帧图像由其相对于的显示容器中所包含的所有功能服务(可包含前述业务服务)的界面显示窗口的显示叠加。而电子设备本地当前的所有功能服务所对应的活动可理解为服务活动。

具体实施中,电子设备可基于本地显示容器所包含的所有服务活动,来获取到针对各业务服务分别对应的目标服务活动。如图2所示的,“应用14”所对应的应用服务活动。在确定这些目标服务活动之后,电子设备可将各所述目标服务活动对应的界面显示窗口分别加载显示至所述投屏显示设备对应的所述显示内容容器。

S205:根据每个所述业务服务与所述投屏显示设备的投屏映射关系,建立每个所述目标服务活动与所述显示内容容器的窗口映射关系;

其中,所述投屏映射关系可以是基于用户针对待投屏的业务服务输入如选中操作等人机交互操作时建立,电子设备仅需对前述过程中,监测人机交互操作对应的操作信息即可确定。如图4所示,图4是一种本申请涉及的一种操作场景的示意图,在图4所示电子设备的本地屏幕界面上排列有多个多媒体资源(业务服务的一种)对应的资源图标,假设此时用户需要投屏的业务服务为前述提及的针对多媒体资源投屏的资源投屏显示服务,也即用户可在本地屏幕界面上输入人机交互操作选择期望投屏的业务服务-多媒体资源,然后并随之确定该“业务服务-多媒体资源”对应的投屏显示设备进行投屏显示。在前述整个过程中,电子设备通过检测用户输入的人机交互操作,可确定每个所述业务服务与所述投屏显示设备的投屏映射关系,如图4所示,可确定“业务服务-投屏内容5”与“设备1”的投屏映射关系,以及“业务服务-投屏内容4”与“设备2”的投屏映射关系。

进一步的,投屏映射关系可以理解为用于电子设备执行将业务服务投屏至对应的投屏显示设备上的指示或根据,电子设备可以基于投屏映射关系,执行下一步建立每个目标服务活动与显示内容容器的窗口映射关系,该窗口映射关系用于将每个业务服务对应的目标服务活动与各投屏显示设备对应的显示内容容器进行逻辑映射,这样后续电子设备对每个目标服务活动的加载可在相应独立的显示内容容器中进行,在一些实施场景下电子设备而无需依赖于电子设备的本地显示内容容器。可以理解的是当本地显示内容容器前台运行的也为该业务服务时,此时投屏显示设备和电子设备本地显示的内容相似;进一步的,若当本地显示内容容器前台运行的不为该业务服务时,此时投屏显示设备和电子设备本地显示的内容不同,从而实现了在多设备投屏场景下,各投屏显示设备可基于用户投屏需求与电子设备独立显示,彼此互不影响。如,电子设备可以基于用户需求将投屏显示设备对应的显示内容容器与本地显示内容容器所对应的所有服务活动全部关联,这样投屏显示设备可以与电子设备实现显示同步。

S206:基于所述窗口映射关系,将所述业务服务对应的界面显示窗口加载显示至所述显示内容容器。

根据一些实施例中,具体实施中,电子设备的操作系统包含的活动管理器(如ActivityRecord)用于对业务服务进行活动管理,基于该活动管理器通过将业务服务对应的服务活动(如Activity)与相应的显示内容容器建立映射关系,如将服务活动与相应的显示内容容器进行绑定。实际应用中,业务服务在设备屏幕上进行内容显示实质显示的是该业务服务对应的界面显示窗口,如,业务服务为一个应用服务,则在设备屏幕上进行内容显示实质显示的是一个应用窗口,又如业务服务为一个视频服务,则在设备屏幕上进行内容显示实质显示的是一个视频窗口,等等。本申请根据前述建立的窗口映射关系,电子设备实现对各业务服务的投屏显示基于此,将业务服务在业务运行中的界面显示窗口加载显示至相应的投屏显示设备对应的显示内容容器中即可。

在一种具体的实施场景中,

1:电子设备可获取所述业务服务的界面显示窗口所对应的图层栈,所述图层栈包含至少一个显示图层。

进一步的,每个业务服务的界面显示窗口实质基于对图层帧中的各待显示显示图层的加载渲染,通常每个业务服务会对应图层栈,图层栈用于承载业务服务的界面显示窗口,完成对业务服务的界面显示窗口的正常加载显示。通过对每个图层栈中每个显示图层的加载,加载完成后其最终界面显示窗口由各显示图层的叠加显示形成。

所述显示图层可以例如含有文字或图形等元素的胶片,一张张按顺序叠放在一起,组合起来形成界面显示窗口的最终效果。在对界面显示窗口进行渲染显示时,通常可以通过显示图层将显示界面上的待显示元素精确定位,并可以在图层中加入相应文本、图片、表格,以及插件等,也可以在图层里面再嵌套图层。

在实际应用中,图层栈中显示图层的数量可以为一个或者多个,通常在界面显示窗口面进行显示过程中,由多个显示图层叠加最终组成界面显示窗口。

2:电子设备可以将所述图层栈加载显示至所述显示内容容器。具体实施中,可将“业务服务的界面显示窗口所对应的图层栈”与所期望投屏的投屏显示设备的“显示内容容器”进行逻辑绑定即可,则后续电子设备即可自动将所述图层栈加载显示至所述显示内容容器中。

进一步的,当电子设备的本地显示内容容器与投屏显示设备的显示内容容器所绑定的图层栈均相同时,此时两者显示内容实现同步显示。当电子设备的本地显示内容容器与投屏显示设备的显示内容容器所绑定的图层栈不相同时,此时两者显示内容独立且不一定相同。

其中,电子设备的本地显示内容容器与投屏显示设备的显示内容容器所绑定的业务服务关联的图层栈是否一致,基于实际应用环境由用户所输入的人机操作决定。

S207:将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。

根据一些实施例中,电子设备可基于本地显示容器获取到针对各业务服务分别对应的界面显示窗口的界面显示图像,电子设备仅需将各所述业务服务所对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器即可,从而电子设备将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示,也即电子设备基于显示内容容器中的屏幕图像刷新频率将每一帧界面显示图像(帧)基于与投屏显示设备的投屏通信连接发送至投屏显示设备进行显示。

在本申请实施例中,电子设备通过获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备,然后确定各所述投屏显示设备对应的显示内容容器,通过将每个所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。这样多个投屏显示设备的投屏显示可不限于电子设备本地屏幕显示的影响,各投屏显示设备之间投屏显示内容可相互独立互不干扰,实现的多投屏设备投屏显示不同的内容,提升了多投屏设备投屏时的智能性,投屏显示内容可实现多设备多样化显示。以及,投屏交互过程中可仅基于响应选中操作显示相应设备图标即可实现快速投屏,投屏操作更简单快捷。

请参见图5,图5是本申请提出的一种投屏方法的另一种实施例的流程示意图。具体的:

S301:获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备;

具体可参见步骤s101,此处不再赘述。

S302:确定各所述投屏显示设备对应的显示内容容器;

具体可参见步骤s102,此处不再赘述。

S303:将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载至所述投屏显示设备对应的所述显示内容容器,确定所述业务服务的界面显示窗口存在安全隐私元素。

在实际应用中,对业务服务对应的界面显示窗口的加载显示过程,通常由电子设备先预先开始将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载至所述投屏显示设备对应的所述显示内容容器,加载对应加载时长,在加载开始阶段,电子设备可确定所述业务服务的界面显示窗口是否存在安全隐私元素。以便及时对涉及到安全隐私的界面显示窗口进行安全隐私处理,以避免安全隐私的泄露。在实际应用中,对涉及到诸如密码输入、个人信息等安全隐私元素,通常需要避免泄露,对相应涉及安全隐私的元素进行遮挡处理。

基于此,在本申请中,在对界面显示窗口在显示内容容器中进行加载阶段,同步执行对界面显示窗口的安全隐私检测,若在界面显示窗口中不含安全隐私元素,对界面显示窗口在显示内容容器中进行正常加载,继而基于显示内容容器中的目标界面图像发送至所述投屏显示设备显示;若在界面显示窗口中存在安全隐私元素,则可对涉及到安全隐私的界面显示窗口进行安全隐私处理,以避免安全隐私的泄露。

在实际应用中,可以对界面显示窗口在逐图层渲染加载过程中,对当前界面图像的显示元素进行安全隐私检测,从而确定当前正在渲染或即将渲染的图层是否涉及安全隐私。

如电子设备可以对当前界面图像采用基于光学字符识别(OCR)的字符识别方法,获取到当前界面图像中涉及到的信息,对信息进行关键字符识别,从而确定信息中涉及到关键字符,关键字符也即预先标记的安全隐私元素;

又如电子设备可以对当前界面图像进行图像识别,从而确定当前界面图像中涉及到用户隐私的目标图像区域,将目标图像区域作为遮挡区域,其中,所述对当前界面图像进行图像识别的方法可以是将当前界面图像输入至预先训练好的图像识别模型,输出界面中的安全隐私元素,如图像识别模型可以是基于LR(Logistic Regression,逻辑回归模型)、SVM(Support Vector Machine,支持向量机)、决策树、朴素贝叶斯分类器、CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Networks,递归神经网络)等中的一种或多种实现,预先获取大量图像样本数据,基于已经标注安全隐私元素的图像样本数据对初始的图像识别模型进行训练,可以得到训练好的图像识别模型。

在一种可行的实施场景中,上述对当前界面图像进行检测,可以是细粒到图层维度,也即通过对当前界面图像加载时的所有显示图层进行安全隐私检测。

进一步的,当安全隐私元素为空时,说明所述业务服务的界面显示窗口不存在安全隐私元素,

S304:基于所述显示内容容器对所述安全隐私元素进行图层屏蔽处理,将所述显示内容容器中的目标界面图像发送至所述投屏显示设备显示,所述目标界面图像不含所述安全隐私元素。

其中,所述安全隐私元素包括但不限于商业秘密文件和视频、身份验证信息、银行账户、邮件、通讯录联系人、个人图片、个人账户、密码登录内容、个人健康信息、聊天信息等内容中的一种或多种的拟合。隐私内容也可包括用户自定义的内容。通过对当前界面图像(也即加载中的界面显示窗口)的所有显示图层进行隐私内容检测,即确定包含上述安全隐私的图层,通常包含上述隐私内容的图层可称为安全图层,也即下述第一显示图层,即涉及用户隐私安全的图层。如用户银行密码输入框对应的显示图层、用户个人账户显示栏对应的显示内容,视频中涉及用户个人信息对应的显示图层等等。

具体的,电子设备可基于上述对安全隐私元素的检测,随之确定在当前界面图像(也即加载中的界面显示窗口)所对应的第一显示图层,然后通过对第一显示图层进行图层屏蔽处理,将所述显示内容容器中的目标界面图像发送至投屏显示设备显示,目标界面图像可以理解为屏蔽了且不含所述安全隐私元素的图像。

在一种具体的实施场景中:

1、电子设备可以获取构成所述界面显示窗口的图层栈和所述显示内容容器对应的容器标识;

具体的,本申请对涉及安全隐私元素的第一显示图层的屏蔽处理,可以借助于显示内容容器对应的容器标识在具体实施中对屏蔽图层进行相应标识,以在涉及到投屏显示设备加载投屏显示场景时,对具有此标识的图层不进行渲染。

根据一些实施例中,图层栈包含至少一个显示图层,图层栈中显示图层的数量可以为一个或者多个,通常在界面显示窗口面进行显示过程中,由多个显示图层叠加最终组成界面显示窗口。

所述容器标识用于唯一表征投屏显示设备对应的显示内容容器,容器标识可以是一串字符串、名称、代码、字符等形式进行表征。

2、在所述图层栈中确定所述安全隐私元素对应的第一显示图层,在所述目标显示图层对应的图层容器属性中设置所述容器标识;

具体的,电子设备可基于上述对安全隐私元素的检测,随之确定在当前界面图像(也即加载中的界面显示窗口)所对应的第一显示图层,如利用图像识别技术、字符识别技术等手段向确定当前界面图像是否含有安全隐私元素,再存在的情况下,再确定安全隐私元素所在图层,该图层即为第一显示图层。

所述图层容器属性为本申请中在图层对应的图层属性中新增的一属性字段,在相关技术中,图层对应的图层属性不含针对图层显示容器的特征,在本申请中,通过在获取到容器标识之后,基于安全隐私维度针对性的在图层对应的图层属性中设置新增的图层容器属性,应用于针对投屏显示设备投屏显示涉及安全隐私的场景,基于业务服务的界面显示窗口是否涉及安全隐私,可针对性设置图层容器属性值,以便于后续在显示图层容器中加载时可通过读取到图层容器属性,确定是否加载当前对应的图层。从而实现对所述安全隐私元素进行图层屏蔽处理。

3、基于所述容器标识在所述显示内容容器中对图层栈中的第二显示图层进行加载得到目标界面图像,并将所述目标界面图像发送至所述投屏显示设备显示;

其中,所述第二显示图层为所述图层栈中除所述第一显示图层之外的图层。

在一种具体的实施场景中,若业务服务的界面显示窗口存在安全隐私元素,则预先对安全隐私元素所在的显示图层对应的图层属性设置图层容器属性,通过获取的显示内容容器的容器标识,将图层容器属性的值设置为该容器标识。反之,在一种可行的实施方式中,可对第二显示图层不设置图层容器属性;或,对第二显示图层设置图层容器属性,图层容器属性的值可随机设置,仅需图层容器属性的值与容器标识不一致即可。

进一步的,在对界面显示窗口的图层栈中的每个图层进行加载显示过程中,若存在第一显示图层的图层容器属性与容器标识相匹配,如均一致,则对当前的第一显示图层不进行加载,对第二显示图层正常加载显示即可。

S305:当所述本地显示内容容器与所述显示内容容器的画面显示相关联时,基于所述容器标识加载显示所述图层栈所对应的原始界面图像,所述原始界面图像包含所述安全隐私元素。

当所述显示内容容器对应的业务服务为(针对电子设备当前屏幕显示界面的)同屏投屏显示服务(即电子设备和投屏显示设备显示相同的界面内容)时,确定本地显示内容容器与所述显示内容容器的画面显示相关联;或,

当本地显示内容容器存在(电子设备前台运行的服务)前台运行服务包含与显示内容容器对应的业务服务时,确定本地显示内容容器与所述显示内容容器的画面显示相关联;

此时,由于业务服务对应的界面显示窗口包含安全隐私元素,为了实现在电子设备本地屏幕正常显示,电子设备可基于所述容器标识加载显示所述图层栈所对应的原始界面图像,具体实施中电子设备可确定所述本地显示内容容器的本地容器标识;然后在本地显示容器对应的图层栈中对每一层图层的图层容器属性进行检测,对图层容属性值不为本地容器标识的显示图层进行正常加载显示,也即当所述图层栈所对应的所有显示图层的所述图层容器属性与所述本地容器标识不同时,加载显示所述图层栈所对应的原始界面图像。在一些实施方式中,电子设备在针对本地显示内容容器时,针对每个本地显示内容容器的图层栈中的每个图层均可设置为与本地容器标识不一样的值。在实际应用中,电子设备基于所述容器标识可实现加载显示所述图层栈所对应的原始界面图像。从而借助于容器标识设置图层容器属性实现了不同逻辑屏幕(本地电子设备屏幕和投屏显示设备的屏幕)上差异户显示的需求,即在本端可正常显示涉及安全隐私的图像,对投屏显示场景下的投屏显示设备不进行显示。

在一种可行的实施方式中,电子设备在确定界面显示窗口对应的包含安全隐私元素的第一显示图层设置图层容器属性,此时,图层容器属性的值可设置为与当前显示内容容器的容器标识不一致;电子设备在确定界面显示窗口对应的包含安全隐私元素的第二显示图层设置图层容器属性,此时,图层容器属性的值可设置为与当前显示内容容器的容器标识一致;则实际应用阶段,对图层容器属性与容器标识不一致的第一显示图层不加载,对图层容器属性与容器标识一致的第二显示图层正常加载显示。

在本申请实施例中,电子设备通过获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备,然后确定各所述投屏显示设备对应的显示内容容器,通过将每个所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。这样多个投屏显示设备的投屏显示可不限于电子设备本地屏幕显示的影响,各投屏显示设备之间投屏显示内容可相互独立互不干扰,实现的多投屏设备投屏显示不同的内容,提升了多投屏设备投屏时的智能性,投屏显示内容可实现多设备多样化显示。以及,投屏交互过程中可仅基于响应选中操作显示相应设备图标即可实现快速投屏,投屏操作更简单快捷。以及,在图层中基于容器标识设置图层容器属性,可实现界面显示窗口的隐私屏蔽处理,避免投屏过程中的隐私泄露,同时还可实现在本端界面隐私元素的正常显示,投屏场景覆盖更广泛,满足了不同设备的投屏隐私需求。

请参见图6,为本申请实施例提供的一种投屏系统的架构示意图。如图6所示,所述投屏系统10包括电子设备100和投屏显示设备集群,所述投屏显示设备集群可以包括多个投屏显示设备,如图1所示,具体包括投屏显示设备1、投屏显示设备2、…、投屏显示设备n,n为大于0的整数;

所述电子设备100和投屏显示设备集群中的各投屏显示设备可以是具有通信功能的电子设备,该电子设备包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中电子设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,PDA)、5G网络或未来演进网络中的设备等。

所述电子设备100以及投屏显示设备集群中的各投屏显示设备通过网络进行交互通信,如基于网络建立投屏连接,网络可以是无线网络,也可以是有线网络,无线网络包括但不限于蜂窝网络、无线局域网、红外网络或蓝牙网络,有线网络包括但不限于以太网、通用串行总线(universal serial bus,USB)或控制器局域网络。

另外,上述实施例提供的远程诊断系统实施例与一些实施例中的所述远程诊断方法属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

下面将结合图7,对本申请实施例提供的投屏装置进行详细介绍。需要说明的是,图7所示的投屏装置,用于执行本申请图1~图6所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图1~图6所示的实施例。

请参见图7,其示出本申请实施例的投屏装置的结构示意图。该投屏装置1可以通过软件、硬件或者两者的结合实现成为用户终端的全部或一部分。根据一些实施例,该投屏装置1包括投屏获取模块11、容器确定模块12和投屏显示模块13,具体用于:

投屏获取模块11,用于获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备;

容器确定模块12,用于确定各所述投屏显示设备对应的显示内容容器;

投屏显示模块13,用于将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。

可选的,所述装置1具体用于:

确定建立与至少两个投屏显示设备的投屏连接,分别针对各所述投屏显示设备创建显示内容容器。

可选的,如图8所示,所述投屏显示模块13,包括:

活动确定单元131,用于在本地显示内容容器关联的所有服务活动中,确定各所述业务服务对应的目标服务活动;所述本地显示内容容器用于在本地显示基于所述服务活动渲染生成的本地界面图像;

加载显示单元132,用于将各所述目标服务活动对应的界面显示窗口分别加载显示至所述投屏显示设备对应的所述显示内容容器。

可选的,所述加载显示单元132,具体用于:

根据每个所述业务服务与所述投屏显示设备的投屏映射关系,建立每个所述目标服务活动与所述显示内容容器的窗口映射关系;

基于所述窗口映射关系,将所述业务服务对应的界面显示窗口加载显示至所述显示内容容器。

可选的所述加载显示单元132,具体用于:

获取所述业务服务的界面显示窗口所对应的图层栈,所述图层栈包含至少一个显示图层;

将所述图层栈加载显示至所述显示内容容器。

可选的,所述装置1具体用于:

确定所述业务服务的界面显示窗口存在安全隐私元素;

基于所述显示内容容器对所述安全隐私元素进行图层屏蔽处理,将所述显示内容容器中的目标界面图像发送至所述投屏显示设备显示,所述目标界面图像不含所述安全隐私元素。

可选的,所述装置1具体用于:

获取构成所述界面显示窗口的图层栈和所述显示内容容器对应的容器标识;

在所述图层栈中确定所述安全隐私元素对应的第一显示图层,在所述目标显示图层对应的图层容器属性中设置所述容器标识;

基于所述容器标识在所述显示内容容器中对图层栈中的第二显示图层进行加载得到目标界面图像,并将所述目标界面图像发送至所述投屏显示设备显示;

其中,所述第二显示图层为所述图层栈中除所述第一显示图层之外的图层。

可选的,所述装置1具体用于:

当所述本地显示内容容器与所述显示内容容器的画面显示相关联时,基于所述容器标识加载显示所述图层栈所对应的原始界面图像,所述原始界面图像包含所述安全隐私元素。

可选的,所述装置1具体用于:

确定所述本地显示内容容器的本地容器标识;

当所述图层栈所对应的所有显示图层的所述图层容器属性与所述本地容器标识不同时,加载显示所述图层栈所对应的原始界面图像。

可选的,所述装置1具体用于:

分别响应于针对至少两个待投屏的业务服务所对应的服务选中操作,显示至少两个投屏显示设备对应的设备投屏图标;

基于所述服务选中操作对应的操作位置信息和各所述设备投屏图标,确定各所述业务服务分别对应的投屏显示设备。

需要说明的是,上述实施例提供的投屏装置在执行投屏方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的投屏装置与投屏方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1~图6所示实施例的所述投屏方法,具体执行过程可以参见图1~图6所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1~图6所示实施例的所述投屏方法,具体执行过程可以参见图1~图6所示实施例的具体说明,在此不进行赘述。

请参考图9,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。

处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。

参见图10所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。

为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。

以操作系统为Android系统为例,存储器120中存储的程序和数据如图11所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序等。

以操作系统为IOS系统为例,存储器120中存储的程序和数据如图12所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。

在图12所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。

其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。

其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。

除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。

在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。

本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。

在图9所示的电子设备中,其中电子设备可以是一种终端,处理器110可以用于调用存储器120中存储的网络优化应用程序,并具体执行以下操作:

获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备;

确定各所述投屏显示设备对应的显示内容容器;

将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器,将所述显示内容容器中的界面显示图像发送至所述投屏显示设备显示。

在一个实施例中,所述处理器1001在执行所述投屏方法时,还执行以下操作:

确定建立与至少两个投屏显示设备的投屏连接,分别针对各所述投屏显示设备创建显示内容容器。

在一个实施例中,所述处理器1001在执行所述将各所述业务服务对应的界面显示窗口分别从本地显示内容容器加载显示至所述投屏显示设备对应的所述显示内容容器时,具体执行以下操作:

在本地显示内容容器关联的所有服务活动中,确定各所述业务服务对应的目标服务活动;所述本地显示内容容器用于在本地显示基于所述服务活动渲染生成的本地界面图像;

将各所述目标服务活动对应的界面显示窗口分别加载显示至所述投屏显示设备对应的所述显示内容容器。

在一个实施例中,所述处理器1001在执行所述将各所述目标服务活动对应的界面显示窗口分别加载显示至所述投屏显示设备对应的所述显示内容容器时,具体执行以下操作:

根据每个所述业务服务与所述投屏显示设备的投屏映射关系,建立每个所述目标服务活动与所述显示内容容器的窗口映射关系;

基于所述窗口映射关系,将所述业务服务对应的界面显示窗口加载显示至所述显示内容容器。

在一个实施例中,所述处理器1001在执行所述将所述业务服务对应的界面显示窗口加载显示至所述显示内容容器时,具体执行以下操作:

获取所述业务服务的界面显示窗口所对应的图层栈,所述图层栈包含至少一个显示图层;

将所述图层栈加载显示至所述显示内容容器。

在一个实施例中,所述处理器1001在执行所述投屏方法时,还执行以下步骤:

确定所述业务服务的界面显示窗口存在安全隐私元素;

基于所述显示内容容器对所述安全隐私元素进行图层屏蔽处理,将所述显示内容容器中的目标界面图像发送至所述投屏显示设备显示,所述目标界面图像不含所述安全隐私元素。

在一个实施例中,所述处理器1001在执行所述基于所述显示内容容器对所述安全隐私元素进行图层屏蔽处理,将所述显示内容容器中的目标界面图像发送至所述投屏显示设备显示时,具体执行以下操作:

获取构成所述界面显示窗口的图层栈和所述显示内容容器对应的容器标识;

在所述图层栈中确定所述安全隐私元素对应的第一显示图层,在所述目标显示图层对应的图层容器属性中设置所述容器标识;

基于所述容器标识在所述显示内容容器中对图层栈中的第二显示图层进行加载得到目标界面图像,并将所述目标界面图像发送至所述投屏显示设备显示;

其中,所述第二显示图层为所述图层栈中除所述第一显示图层之外的图层。

在一个实施例中,所述处理器1001在执行所述投屏方法,还执行以下步骤:

当所述本地显示内容容器与所述显示内容容器的画面显示相关联时,基于所述容器标识加载显示所述图层栈所对应的原始界面图像,所述原始界面图像包含所述安全隐私元素。

在一个实施例中,所述处理器1001在执行所述基于所述容器标识加载显示所述图层栈所对应的原始界面图像时,具体执行以下操作:

确定所述本地显示内容容器的本地容器标识;

当所述图层栈所对应的所有显示图层的所述图层容器属性与所述本地容器标识不同时,加载显示所述图层栈所对应的原始界面图像。

在一个实施例中,所述处理器1001在执行所述获取待投屏的至少两个业务服务和各所述业务服务分别对应的投屏显示设备,还包括:

分别响应于针对至少两个待投屏的业务服务所对应的服务选中操作,显示至少两个投屏显示设备对应的设备投屏图标;

基于所述服务选中操作对应的操作位置信息和各所述设备投屏图标,确定各所述业务服务分别对应的投屏显示设备。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 投屏方法、投屏设备、投屏系统、电子设备、存储介质
  • 投屏方法、投屏装置、存储介质与电子设备
技术分类

06120113229094