CN112328344B - 一种投屏处理方法及第一设备 - Google Patents
一种投屏处理方法及第一设备 Download PDFInfo
- Publication number
- CN112328344B CN112328344B CN202011202367.3A CN202011202367A CN112328344B CN 112328344 B CN112328344 B CN 112328344B CN 202011202367 A CN202011202367 A CN 202011202367A CN 112328344 B CN112328344 B CN 112328344B
- Authority
- CN
- China
- Prior art keywords
- application
- target application
- running
- screen projection
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及一种投屏处理方法及第一设备,该方法包括:本申请提供的投屏处理方法及第一设备,获得用于指示在第一设备上对未运行于第二设备前台的至少一个目标应用进行投屏的指示信息,并响应于该指示信息,基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用。通过在第一设备根据所需的至少一个依赖包而实质运行未运行于第二设备前台的至少一个目标应用,打破了传统投屏技术只能在目的端支持对源端屏幕界面可视化运行的单个应用的投屏镜像的局限,可支持在投屏过程中,对第二设备前台和/或非前台的多个应用进行投屏,改进了投屏功能,提升了用户的投屏应用体验。
Description
技术领域
本申请属于跨设备投屏技术领域,尤其涉及一种投屏处理方法及电子设备。
背景技术
随着电子与终端技术的发展,手机、电脑等终端设备的功能越来越丰富多样化,比如,将手机界面投屏到电脑提供的大屏幕上就是其中之一,用户将手机等小屏设备的屏幕界面投射到电脑等终端设备的显示屏上,能够借助电脑等终端设备的大屏幕优势更好地处理小屏设备上的事项。然而,传统的投屏技术,仅是将投屏源端设备的原始屏幕界面基于镜像技术投屏到目的端,相应也只能在目的端支持对源端可视化运行的单个应用(即,应用程序)进行投屏,无法在目的端满足对源端多个应用的投屏运行。
发明内容
有鉴于此,本申请提供了一种投屏处理方法及第一设备,用于至少解决传统投屏技术存在的以上技术问题,实现在目的端满足对源端多个应用程序的同时投屏运行。
本申请公开的技术方案如下:
一种投屏处理方法,应用于具有第一显示单元的第一设备;
所述方法包括:
获得第一指示信息,所述第一指示信息用于指示在第一设备上对未运行于第二设备前台的至少一个目标应用进行投屏;
基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用。
可选的,所述获得第一指示信息,包括:
获得通过面向第一设备的投屏窗口中显示的至少一个目标应用执行目标操作而触发的所述第一指示信息;
其中,所述投屏窗口显示于所述第一设备的第一显示单元,所述第一设备响应于检测到的用于指示进入投屏模式的第二指示信息生成所述投屏窗口,并于所述第一显示单元显示所述投屏窗口;所述投屏窗口显示有第二设备的第二显示单元的界面内容,所述界面内容包括所述第二设备上至少一个应用的可视化显示。
可选的,所述第二设备的第二显示单元的界面内容包括:所述第二设备上至少一个应用的应用图标的可视化显示,或者所述第二设备上一个应用的运行界面的可视化显示;
所述目标操作为如下操作中的任意一种:
用于指示将所述投屏窗口中至少一个目标应用移动至所述第一显示单元上所述投屏窗口之外的区域的移动操作;
在所述第一设备上包括至少一个目标应用的应用分身的情况下,用于指示启动运行至少一个目标应用的应用分身的启动操作;
其中,若所述第二设备的第二显示单元的界面内容包括所述第二设备上至少一个应用的应用图标的可视化显示,所述移动操作为:用于指示移动所述投屏窗口内至少一个目标应用的应用图标的图标移动操作;
若所述界面内容包括一个应用的运行界面的可视化显示,所述移动操作为:用于指示移动所述投屏窗口内所述一个应用的运行界面的界面移动操作。
可选的,在运行所述至少一个目标应用之前,还包括:获得所述至少一个目标应用的运行所需的至少一个依赖包;
其中,所述第一设备部署有第一容器,所述第二设备部署有第二容器;
所述获得所述至少一个目标应用的运行所需的至少一个依赖包,包括:
获得所述第二设备同步的部署于所述第二容器中的所述至少一个目标应用的至少一个依赖包数据;
将所述至少一个依赖包数据部署于所述第一容器中;
将所述第一容器中完成部署后所得的至少一个目标应用对应的当前依赖包确定为所述至少一个目标应用的运行所需的至少一个依赖包;
其中,所述第二设备同步的所述至少一个依赖包数据为:
所述至少一个目标应用的运行所需的至少一个依赖包的完整数据;或者,所述至少一个目标应用的运行所需的至少一个依赖包的增量数据;
所述增量数据为第二容器中部署的所述至少一个目标应用的至少一个依赖包相比于所述第一容器中部署的所述至少一个目标应用的至少一个依赖包的增量数据。
可选的,所述基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用,包括:
在所述目标操作为所述图标移动操作的情况下,基于至少一个目标应用对应的依赖包运行至少一个目标应用对应的应用分身。
在所述目标操作为所述界面移动操作的情况下,将所述一个应用的运行界面从所述投屏窗口内移动至所述第一显示单元上所述投屏窗口之外的区域,并运行所述一个应用的应用分身,维持所述应用分身处于与移动后的运行界面相一致的运行状态。
可选的,其中:
运行目标应用对应的应用分身包括:
基于第一容器中部署的目标应用的依赖包所包括的库文件及应用配置文件,运行目标应用对应的应用分身。
可选的,所述第一设备部署有第一容器,所述第二设备部署有第二容器;
在基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用的过程中,还包括:
在第一设备的第一显示单元上投屏窗口之外的区域显示所述至少一个目标应用的运行界面,或者在第一设备基于第一容器虚拟出并维护所述至少一个目标应用的虚拟运行界面;
和/或,
将所述至少一个目标应用的第一运行状态信息同步至第二设备中运行的相应至少一个目标应用,以使所述至少一个目标应用在所述第二设备具有与所述第一设备中相一致的状态,或者,获得第二设备同步的目标应用的第二运行状态信息,以使所述目标应用在所述第一设备具有与所述第二设备中相一致的状态。
可选的,所述将所述至少一个目标应用的第一运行状态信息同步至第二设备中运行的相应至少一个目标应用,包括:
将第一设备中该目标应用的当前运行状态对应的配置数据及镜像流媒体数据同步至第二设备中的该目标应用,以使第二设备中的该目标应用分别基于同步的配置数据及镜像流媒体数据维持与第一设备中该目标应用相一致的运行状态及虚拟界面状态;
其中,第一设备同步至第二设备的镜像流媒体数据,为第一设备的第一容器基于第一设备上该目标应用的运行界面或虚拟运行界面获得的数据。
可选的,所述获得第二设备同步的目标应用的第二运行状态信息,包括:
获得第二设备同步的该目标应用的当前运行状态对应的配置数据及镜像流媒体数据,第一设备中该目标应用分别基于第二设备同步的配置数据及镜像流媒体数据维持与第二设备中该目标应用相一致的运行状态及虚拟或非虚拟界面状态;
其中,第二设备同步至第一设备的镜像流媒体数据,为第二设备的第二容器基于在第二设备为目标应用虚拟出的虚拟运行界面而得到的数据。
一种第一设备,包括:
第一显示单元;
存储器,用于至少存储一组计算机指令集;
处理器,用于通过执行所述存储器上存放的指令集,实现如上任一项所述的投屏处理方法。
根据以上方案可知,本申请提供的投屏处理方法及第一设备,获得用于指示在第一设备上对未运行于第二设备前台的至少一个目标应用进行投屏的指示信息,并响应于该指示信息,基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用。通过在第一设备根据所需的至少一个依赖包而实质运行未运行于第二设备前台的至少一个目标应用,打破了传统投屏技术只能在目的端支持对源端屏幕界面可视化运行的单个应用的投屏镜像的局限,可支持在投屏过程中,对第二设备前台和/或非前台的多个应用进行投屏,改进了投屏功能,提升了用户的投屏应用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是传统投屏技术中将源端设备原始屏幕界面镜像投屏至目的端的一示例图;
图2是本申请实施例提供的投屏处理方法的一种流程实示意图;
图3是本申请实施例提供的投屏处理方法的另一种流程实示意图;
图4是本申请实施例提供的图标移动操作的示意图;
图5是本申请实施例提供的界面移动操作的示意图;
图6是本申请实施例提供的投屏处理方法的又一种流程实示意图;
图7是本申请实施例提供的投屏模式下双端设备进行数据传输的传输协议图;
图8是本申请实施例提供的基于本申请的投屏协议而实现的投屏设备(源端及目的端)的系统结构图;
图9是本申请实施例提供的基于容器技术实现在投屏目的端对投屏源端的多个应用进行同时投屏可视化的示例图;
图10是本申请实施例提供的第一设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统的投屏技术,基于源端与目的端之间建立的投屏连接通道,并通过投屏协议,将源端设备显示单元上的原始屏幕界面(如,应用程序运行界面或包括多个应用图标的主界面等)镜像投屏至目的端显示单元的投屏窗口中,具体参见图1示出的传统投屏技术的一投屏实例。常规应用中,源端一般为手机、智能手环等小屏设备(目的端则为电脑等大屏设备),受限于手机、智能手环等源端设备的小屏特点,同一时刻源端设备前台界面通常仅运行一个应用程序,相应也只能在目的端支持对源端界面所运行的单个应用程序的投屏可视,无法在目的端满足对源端多个应用程序的投屏运行(如,在目的端对源端多个应用程序进行投屏,并同时可视化运行投屏过来的多个应用程序等)。
由此,本申请提供了一种投屏处理方法及第一设备,用于至少解决传统投屏技术存在的以上技术问题,实现在目的端满足对源端多个应用程序的同时投屏运行。以下首先通过实施例对本申请提供的投屏处理方法进行详述。
本申请实施例的投屏处理方法应用于投屏目的端的第一设备,第一设备优选地为具备或能够具备大尺寸的第一显示单元的设备,如,第一设备具体可以是但不限于拥有大屏幕(相比于手机、手环等小屏设备而言)的笔记本、台式机、一体机等个人PC设备,第一设备的第一显示单元可以包括一个或多个显示屏幕,另外,第一设备的第一显示单元包括的显示屏幕或部分数量的显示屏幕可以是第一设备自身提供的显示屏或外接的扩展显示屏,在此不加限制。
第一设备用于作为投屏目的端而负责对作为源端的第二设备的内容进行投屏,第二设备通常为手机、智能手环等小屏设备,通过将手机等小屏设备的内容投射到电脑等设备的大尺寸显示屏上,而借助电脑等设备的大屏幕优势更加便捷地处理小屏设备上的事项,如图像处理,文档/邮件编辑等。
参见图2示出的本申请中投屏处理方法的一种流程实示意图,该应用于第一设备的投屏处理方法可以包括:
步骤201、获得第一指示信息,所述第一指示信息用于指示在第一设备上对未运行于第二设备前台的至少一个目标应用进行投屏。
图2示出的投屏处理方法,应用于第一设备与第二设备这两个设备的投屏场景中,第一设备与第二设备可基于有线或无线方式建立连接,如,通过USB(Universal SerialBus,通用串行总线)连接线将两设备连接,或者,基于Wi-Fi将两设备连接等,以建立的有线或无线连接为基础而构建两者之间的投屏通道。本申请实施例的投屏处理方法兼容传统的投屏技术,在传统投屏技术的基础上作出了进一步改进。
用户可通过在第一设备和/或第二设备端执行用于指示进入投屏模式的相应操作(如,在手机或电脑端下载并安装投屏软件,将手机与电脑建立连接,并在安装的投屏软件中启动投屏镜像功能等),而触发投屏指示,第一设备响应于该投屏指示对应的第二指示信息生成一投屏窗口,并将投屏窗口显示于第一设备的显示单元,具体如图1所示。其中,该投屏窗口内显示有第二设备第二显示单元的原始屏幕界面的界面内容,所述界面内容包括第二设备上至少一个应用的可视化显示。
第二设备的第二显示单元,如可以是手机、智能手环等的显示屏,进一步,第二设备的第二显示单元的界面内容所包括的至少一个应用的可视化显示,可以是第二设备上至少一个应用的应用图标的可视化显示,或者,还可以是第二设备上某一个应用的运行界面的可视化显示;相应地,第一设备的第一显示单元在其投屏窗口内,同步对第二设备投射过来的至少一个应用的应用图标或一个应用的运行界面进行可视化显示。
也就是说,在投屏过程中,对于作为投屏目的端的第一设备,其第一显示单元上的投屏窗口仍维持对源端第二设备屏幕的原始界面内容进行投屏可视化。在此基础上,本实施例进一步在投屏目的端的第一设备上,提供对源端第二设备上未运行于第二设备前台的至少一个目标应用进行投屏的投屏功能。
其中,一种可能的情形是,未运行于第二设备前台的目标应用,具体为运行于第二设备后台的应用,也即,第二设备为该类型应用开启了相应后台进程,基于所开启的后台进程而使其处于运行状态,但在第二设备前台未可视化显示其运行界面,也正是由于第二设备前台如手机显示屏上未可视化显示该类应用的运行界面,而导致传统投屏技术因无法抓取该类应用的镜像流媒体数据相应无法将该类应用镜像投屏至投屏目的端设备。
另一种可能的情形是,未运行于第二设备前台的目标应用,为第二设备上未启动的应用,也即,第二设备未针对该类应用启动任何进程。对于第二设备上未启动的应用,传统投屏技术同样会因无法抓取该类应用的镜像流媒体数据相应无法将该类应用镜像投屏至投屏目的端设备。
实施中,可选地,用户可通过对第一设备的投屏窗口中显示的至少一个目标应用执行目标操作,而触发用于指示在第一设备上对未运行于第二设备前台的该至少一个目标应用进行投屏的第一指示信息。
其中,在目标应用的数量为多个的情形下,作为一种可选实施方式,可针对投屏窗口中显示的每个目标应用,分别一一对其施加目标操作,而实现触发用于指示对数量为多个的目标应用进行投屏的第一指示信息。而作为另一种可选实施方式,还可以针对投屏窗口中显示的各个目标应用,通过对数量为多个的目标应用统一施加一次目标操作,实现触发用于指示对该数量为多个的目标应用进行投屏的第一指示信息。
步骤202、获得所述至少一个目标应用的运行所需的至少一个依赖包;
步骤203、基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用。
响应于所述第一指示信息,第一设备确定并获得所述至少一个目标应用的运行所需的至少一个依赖包,并基于获得的该至少一个依赖包,在第一设备运行所述至少一个目标应用,通过在第一设备基于所需的依赖包实质运行所述至少一个目标应用,实现了在第一设备对第二设备的未运行于设备前台的至少一个目标应用进行投屏运行。
目标应用的运行所需的依赖包,可以包括但不限于目标应用的正常运行需依赖的库文件及应用配置文件。
其中,库文件可以包括目标应用的正常运行需依赖的一系列静态链接库文件,如文件名后缀为.lib的文件,或者,可以包括目标应用的正常运行需依赖的一系列动态链接库文件,如文件名后缀为.dll的文件,或者,还可以是同时包括目标应用的正常运行需依赖的一系列静态链接库文件以及一系列动态链接库文件。
所述的应用配置文件,至少包括能维持目标应用的运行所需的基本框架及状态切换的配置文件,更具体地,可以包括但不限于应用程序的日志、程序状态机及权限等数据的配置文件。
第一设备通过获得至少一个目标应用的运行需依赖的库文件及应用配置文件,而支撑第二设备中未运行于其前台的至少一个目标应用在第一设备的投屏运行。
值得说明的是,对于未运行于第二设备前台的至少一个目标应用向第一设备的投屏,本申请实施例至少在作为投屏目的端的第一设备上采用基于依赖包而实质运行目标应用的方式来实现对该目标应用的投屏,弥补了传统投屏技术因目标应用未运行于第二设备前台界面而导致无法抓取其镜像流媒体数据相应无法将该其镜像投屏至投屏目的端设备的弊端。
可选地,基于目标应用的运行所需的依赖包,在第一设备运行目标应用,可以是以下实现方式中的任意一种:
1)仅在第一设备运行目标应用,不在第一设备的第一显示单元可视化显示目标应用的运行界面;
此种情形是指,将目标应用运行于第一设备后台,而在第一设备的前台不对其运行界面进行可视化显示。
2)在第一设备运行目标应用,同时,在第一设备的第一显示单元可视化显示目标应用的运行界面;
此种情形是指,将目标应用运行于第一设备前台,即,在第一设备的前台可视化显示有目标应用的运行界面。
3)在第一设备运行目标应用(可视化显示或不显示其运行界面),但不向第二设备同步第一设备中目标应用的运行状态数据;
此种情形下,用户并不关注两个设备中目标应用的运行状态是否同步,而只关注能够在第一设备端(如,电脑端)运行未运行于第二设备前台的目标应用(如,未运行于手机前台的微信应用程序),并在第一设备端对其运行过程(如,在电脑端监控手机端投屏过来的某一应用程序的运行过程)或运行结果数据加以使用。
4)在第一设备运行目标应用(可视化显示或不显示其运行界面),同时向第二设备同步第一设备中目标应用的运行状态数据;
此种情形下,用户关注两个设备中目标应用运行状态的同步,第一设备、第二设备维持有相同步、一致的目标应用运行状态。
实际应用中,可由用户针对投屏模式,根据其是否关注两个设备中目标应用运行状态的同步、是否需要在第一设备中对投屏过来的目标应用的运行界面进行可视化,而进行所需设置以选择采用以上实现方式中的相应一种。
本实施例提供的投屏处理方法,通过在第一设备根据所需的至少一个依赖包而实质运行未运行于第二设备前台的至少一个目标应用,打破了传统投屏技术只能在目的端支持对源端屏幕界面可视化运行的单个应用的投屏镜像的局限,可支持在投屏过程中,对第二设备前台和/或非前台的多个应用进行投屏,改进了投屏功能,提升了用户的投屏应用体验。
以下通过另一实施例,进一步说明本申请的投屏处理方法的一可选实现过程,参见图3示出的投屏处理方法的另一种流程示意图,本实施例中,该投屏处理方法可以实现为以下处理过程:
步骤301、获得通过面向第一设备的投屏窗口中显示的至少一个目标应用执行目标操作而触发的所述第一指示信息。
所述第一指示信息用于指示在第一设备上对未运行于第二设备前台的至少一个目标应用进行投屏。
可选的,所述目标操作为如下操作中的任意一种:
1)用于指示将所述投屏窗口中至少一个目标应用移动至所述第一显示单元上所述投屏窗口之外的区域的移动操作;
其中,若投屏模式下,第二设备的第二显示单元的界面内容包括第二设备上至少一个应用的应用图标的可视化显示,则第一设备第一显示单元上的投屏窗口中同步进行第二设备上至少一个应用的应用图标的可视化显示,针对该情形,所述移动操作可以为:用于指示移动所述投屏窗口内至少一个目标应用的应用图标的图标移动操作,即,该图标移动操作用于指示将投屏窗口内至少一个目标应用的应用图标移动至投屏窗口外。
典型地,如图4所示,图标移动操作具体可以包括:选中投屏窗口内目标应用的图标后,将投屏窗口内目标应用的应用图标向投屏窗口外进行拖拽,但不限于此,例如,实施中,还可以在应用图标对应的操作菜单列表中,预先为应用图标增添设置用于指示对应用图标进行移动操作的操作菜单项,当基于相应操作(如,在应用图标上点击鼠标右键)而调出其菜单列表并选择其中的该菜单项时,同样能够达到将投屏窗口内至少一个目标应用的应用图标移动至投屏窗口外的目的。另外,在目标应用为多个的情况下,可以针对每个目标应用分别一一执行上述的图标移动操作,也可以针对多个目标应用而统一施加一次目标操作(如,选中多个应用图标,并统一拖拽,或统一基于菜单项选择而实现移动),而实现多个目标应用图标的批量移动,本实施例对此不加限制。
若所述界面内容包括一个应用的运行界面的可视化显示(如微信的聊天界面),所述移动操作为:用于指示移动所述投屏窗口内所述一个应用的运行界面的界面移动操作。示例性地,界面移动操作可以是但不限于将投屏窗口内所述一个应用的运行界面拖拽至第一显示单元上所述投屏窗口之外的区域的拖拽操作,具体如图5所示。
2)在所述第一设备上包括至少一个目标应用的应用分身的情况下,用于指示启动运行至少一个目标应用的应用分身的启动操作;
针对两设备之间进行投屏的投屏模式,本申请实施例中,为了更便捷地在投屏目的端即第二设备上对第一设备的相应应用进行投屏运行,还提出了在投屏目的端的第二设备上为第一设备的相应应用构建应用分身的思路,其中,应用分身相比于通过下载并安装应用安装包而得到的应用而言,更为轻量级,只要能保证应用程序的正常运行即可,本申请中提出的应用分身,特定运行于投屏模式下。
在投屏目的端的第一设备上包括至少一个目标应用的应用分身情况下,针对欲在投屏目的端的第一设备上进行投屏运行的第二设备上的某目标应用(未运行于第二设备前台),还可以通过直接在第一设备的应用分身上施加启动操作而触发用于指示在第一设备上对未运行于第二设备前台的至少一个目标应用进行投屏的第一投屏指示,该启动操作,例如可以为双击第一设备主界面或相应存储路径上的应用分身图标,或者,调出应用分身图标关联的菜单项后选择其中的打开或启动项等等。
步骤302、获得所述第二设备同步的部署于第二容器中的所述至少一个目标应用的至少一个依赖包数据。
在得到上述的第一指示信息后,进一步确定并获得所述至少一个目标应用的运行所需的至少一个依赖包,以支持在第一设备通过基于相应依赖包对该至少一个目标应用(未运行于第二设备前台)进行投屏运行。
本申请具体基于容器技术,在第一设备以及第二设备部署应用运行所需的相应依赖包。
其中,第一设备部署有第一容器,第二设备部署有第二容器。进一步,所部署的容器分别用于在各自所处设备中进行应用运行所需的依赖包的部署,以基于部署的依赖包,支持应用或应用分身的运行。
对于未运行于第二设备前台的至少一个目标应用(无法从第二设备端如手机端抓取其镜像流媒体数据并向第一设备端如电脑端同步,而实现对其进行镜像投屏),在将其投屏至第一设备时,第一设备需要以拥有其运行所需的依赖包为前提,以基于依赖包在第一设备端如电脑端实质运行欲投屏的这类应用而实现对其的投屏;并且,可选地,可将部署于第二设备第二容器中的所述至少一个目标应用的依赖包数据作为第一设备对所述至少一个目标应用的依赖包的获取源。
实施中,可选的,具体可以在检测到对某一应用的投屏操作指示时,如,检测到拖拽该应用的图标或运行界面到电脑屏幕上投屏窗口外某一区域时,针对该当前应用,执行所需的依赖包数据从第二设备至第一设备的实时同步;或者,也可以基于预测手段,预先预测投屏模式中常用的各个应用,待触发进入投屏模式时(如,连接电脑与手机,打开电脑或手机上的投屏软件,开启投屏等),就预先将预测的各个常用应用的依赖包同步过来,本实施例对投屏模式中依赖包的同步时机不作限定。
目标应用的运行所需的依赖包,可以包括但不限于目标应用的正常运行需依赖的库文件及应用配置文件。
其中,在进行依赖包同步时,一种可能的实施方式是,第二设备同步所述至少一个目标应用的运行所需的至少一个依赖包的完整数据至第一设备,即,在每次需在投屏目的端的第一设备投屏运行未在源端第二设备前台运行的目标应用时,第二设备向第一设备同步目标应用的运行所需依赖包的完整数据。
但不限于此,另一种可能的实施方式是,在进行依赖包同步时,第二设备仅向第一设备同步所述至少一个目标应用的运行所需的至少一个依赖包的增量数据。其中,增量数据为第二设备的第二容器中部署的至少一个目标应用的至少一个依赖包相比于第一设备的第一容器中部署的所述至少一个目标应用的至少一个依赖包的增量数据,而第一设备的第一容器中部署的所述至少一个目标应用的至少一个依赖包则为历史上基于投屏应用从第二设备同步过来并保留的依赖包数据。
步骤303、将同步过来的至少一个依赖包数据部署于所述第一容器中;将所述第一容器中完成部署后所得的至少一个目标应用对应的当前依赖包确定为所述至少一个目标应用的运行所需的至少一个依赖包。
对于同步有依赖包的完整数据的情况,可直接将同步过来的完整依赖包数据部署于第一设备的第一容器中,从而得到用于支持至少一个目标应用在第一设备端的投屏运行所需的依赖包。
对于同步有依赖包的增量数据的情况,可将其增量数据关联部署至第一设备的第一容器中已部署的相对应应用的依赖包数据,结合该增量数据以及第一设备的第一容器中已部署的相对应应用的依赖包数据,得到用于支持至少一个目标应用在第一设备端的投屏运行所需的完整依赖包。
步骤304、基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用。
响应于所述第一指示信息,第一设备确定并获得所述至少一个目标应用的运行所需的至少一个依赖包,并基于获得的该至少一个依赖包,在第一设备运行所述至少一个目标应用,通过在第一设备运行所述至少一个目标应用,实现在第一设备对未运行于第二设备前台的至少一个目标应用的投屏运行。
其中:
(一)对于将投屏窗口内的应用图标进行拖拽等的图标移动操作:
响应于基于该图标移动操作而产生的第一指示信息,第一设备检测其自身系统上是否创建有该至少一个目标应用的应用分身,若未创建,则生成至少一个目标应用的应用分身,实现在第一设备对至少一个目标应用的应用分身进行创建,于此同时,可选的,第一设备界面上可视化显示该至少一个应用分身对应的分身图标。
在完成至少一个目标应用的应用分身的创建后,进一步启动该至少一个目标应用的应用分身,并基于至少一个目标应用对应的依赖包中包括的库文件及应用配置文件运行至少一个目标应用对应的应用分身,且优选地,将启动并运行的应用分身控制为进入其主界面(或主界面对应的主程序),但不限于此,也可以将启动并运行的应用分身控制为进入具有待处理任务的界面或程序(例如,对于社交类应用程序,若收到新消息,可直接进入携带有新消息的聊天窗口界面),以此实现对第二设备中未运行于其前台的至少一个目标应用的投屏运行。
若第一设备上已创建至少一个目标应用的应用分身(如基于历史投屏,已在第一设备创建相应应用的应用分身),则可略去对应用分身的创建过程。
(二)对于将投屏窗口内的应用运行界面进行拖拽等的界面移动操作:
响应于基于该界面移动操作而产生的第一指示信息,将投屏窗口内显示的一个应用的运行界面移动至第一设备第一显示单元上所述投屏窗口之外的区域,且,第一设备检测其自身系统上是否创建有该一个应用的应用分身,若未创建,生成该一个应用的应用分身,实现在第一设备对该一个应用的应用分身进行创建,于此同时,可选的,第一设备界面上可视化显示该一个应用的应用分身对应的图标。
在完成该一个应用的应用分身的创建后,进一步启动该一个应用的应用分身,并基于该一个应用的依赖包中包括的库文件及应用配置文件运行该一个应用对应的应用分身,同时,将启动并运行的应用分身,控制为进入界面移动操作的操作时刻(如拖拽投屏窗口中运行界面的时刻)所对应的该应用的界面状态,维持所运行的应用分身处于与移动后的运行界面相一致的运行状态。
对于上述的第(二)种实现方式,需要说明的是,虽然对于投屏窗口内投屏显示的应用运行界面来说,在该运行界面显示于投屏窗口内的时间段,该运行界面对应的目标应用是运行于第二设备(如手机)前台的,然而,在对投屏窗口内的该运行界面执行拖拽操作而将其移动至第一设备第一显示单元上投屏窗口之外的区域后,投屏窗口内不再显示有该运行界面,相匹配,其对应的目标应用也不再运行于第二设备(如手机)前台,由此,该被拖拽的应用属于“未运行于第二设备前台的目标应用”,因此对于上述的第(二)种实现方式,同样属于本申请所述的“在第一设备对未运行于第二设备前台的目标应用进行投屏运行”的一种情况。
当基于上述的第(一)或(二)实现方式,启动并运行至少一个目标应用的应用分身后,在应用分身的后续运行过程中,对应于上文所述的1)-4)四种情况,其具体可以是以下运行方式中的任意一种:
1)仅在第一设备运行目标应用的应用分身,不在第一设备的第一显示单元可视化显示目标应用的应用分身的运行界面;
此种情形下,更具体地,第一设备可基于容器技术为目标应用的应用分身扩展并维护一虚拟的运行界面,第一设备的第一容器能够基于为目标应用扩展并维护的虚拟运行界面而抓取其镜像流媒体数据,但对于第一设备来说,目标应用的应用分身的运行界面并不在其设备显示屏上进行实质的可视化显示。
2)在第一设备运行目标应用的应用分身,同时,在第一设备的第一显示单元可视化显示目标应用的运行界面;
3)在第一设备运行目标应用的应用分身(可视化显示其运行界面,或者,维护其虚拟运行界面),但不向第二设备同步其目标应用的运行状态数据;
此种情形下,用户并不关注两个设备中目标应用运行状态是否同步,而只关注能够在第一设备端(如,电脑端)运行未运行于第二设备前台的目标应用(如,未运行于手机前台的微信应用程序),并在第一设备端对其运行过程(如,在电脑端监控手机端投屏过来的某一应用程序的运行过程)或运行结果数据加以使用。
4)在第一设备运行目标应用的应用分身(可视化显示其运行界面,或者,维护其虚拟运行界面),同时向第二设备同步其目标应用的运行状态数据;
此种情形下,用户关注两个设备中目标应用运行状态的同步,第一设备、第二设备维持有相同步、一致的目标应用运行状态。
本实施例通过在第一设备根据所需的至少一个依赖包而实质运行未运行于第二设备前台的至少一个目标应用,打破了传统投屏技术只能在目的端支持对源端屏幕界面可视化运行的单个应用的投屏镜像的局限,可支持在投屏过程中,对第二设备前台和/或非前台的多个应用进行投屏,改进了投屏功能,提升了用户的投屏应用体验。
投屏的一个重要功能是,能够在投屏模式下,始终维持投屏源端设备与目的端设备中参与投屏的应用的状态同步(当然,在申请实施例中,用户可基于实际需求而选择或设置是否将两者的状态进行同步),基于此,参见图6示出的本申请另一可选实施例的投屏处理方法的流程示意图,在所述步骤203之后,上述的投屏处理方法还可以包括如下处理中的至少一种:
步骤204、将所述至少一个目标应用的第一运行状态信息同步至第二设备中运行的相应至少一个目标应用,以使所述至少一个目标应用在所述第二设备具有与所述第一设备中相一致的状态。
具体可将第一设备中该目标应用的当前运行状态对应的配置数据及镜像流媒体数据同步至第二设备中的该目标应用,以使第二设备中的该目标应用分别基于同步的配置数据及镜像流媒体数据维持与第一设备中该目标应用相一致的运行状态及虚拟界面状态。
其中,第一设备同步至第二设备的镜像流媒体数据,为第一设备的第一容器基于第一设备上该目标应用的运行界面或虚拟运行界面获得的数据。
步骤205、获得第二设备同步的目标应用的第二运行状态信息,以使所述目标应用在所述第一设备具有与所述第二设备中相一致的状态;
相类似,本步骤中,可获得第二设备同步的该目标应用的当前运行状态对应的配置数据及镜像流媒体数据,第一设备中该目标应用分别基于第二设备同步的配置数据及镜像流媒体数据维持与第二设备中该目标应用相一致的运行状态及虚拟或非虚拟界面状态。
其中,第二设备同步至第一设备的镜像流媒体数据,为第二设备的第二容器基于在第二设备为目标应用虚拟出的虚拟运行界面而得到的数据。
参见图7示出的投屏模式下双端设备进行数据传输的传输协议图,即投屏协议图,其中,以第二设备向第一设备投屏所使用的协议为mirrorcast(该协议是目前主流设备投屏所使用的标准协议,如目前的android设备向windows设备的镜像投屏都是采用的该协议)为例,其建立在wifi模块的基础上,图7所示的WIFI PHY及WIFI MAC分别表示作为wifi模块传输的基础的物理层和数据链路层,Docksync为本申请对传统投屏技术进行改进的核心,其表示本申请针对现有投屏协议具体在wifi模块层的上一层新增的容器同步模块,该容器同步模块负责在投屏模式中将投屏源端设备(如手机)上目标应用(未运行于源端设备前台)所依赖的容器库文件及配置文件(依赖包全量数据或增量数据)同步到投屏目的端设备(如电脑),RTSP表示镜像流媒体数据的传输,其中,该镜像流媒体数据的传输可以是双向的,既可以是将源端设备抓取的镜像流媒体数据同步至目的端设备,又可以是将目的端设备抓取的镜像流媒体数据同步至源端设备。APP表示应用动态运行过程中产生的动态配置数据(如,日志、程序状态机及权限等的配置数据)的传输,其同样可以是双向的。
进一步参见基于上述的投屏协议而实现的投屏设备(源端及目的端)的系统结构图,即图8,其中,hardware(硬件)代表源端及目的端投屏设备的硬件基础,Host OS(操作系统)代表在源端及目的端投屏设备各自硬件上的操作系统,Docksync两侧(即源端设备侧、目的端设备侧)的Bins/libs A、Bins/libs B,代表基于容器同步模块而将源端设备侧的不同目标应用(如,目标应用A、B)对应的依赖包数据(如,.lib库文件及.Bin应用配置文件)同步至目的端设备侧,Drag两侧(即源端设备侧、目的端设备侧)的APP则表示,可基于执行面向目的端设备侧投屏窗口内至少一个目标应用的目标操作(如拖拽投屏窗口内的目标应用的图标至投屏窗口之外的区域),而实现将源端设备未运行于其前台的目标应用投屏至目的端设备端运行,实现这一功能的本质原因在于,已将该目标应用的运行所依赖的库文件及配置文件基于docksync同步到目的端设备,所以可以实现将多个目标应用的图标(或一个目标应用的运行界面)直接从投屏窗口拖拽到上投屏窗口之外的区域而运行。
在基于本实施例提供的上述投屏协议结构及系统架构,而将未运行于第二设备前台的至少一个目标应用投屏至第二设备进行运行的过程中,对于需在目的端与源端(也即第一设备与第二设备)之间进行应用数据同步的情形,作为投屏目的端的第一设备,可在其前台或后台运行目标应用(具体指运行目标应用的应用分身),运行于前台时,第一设备的第一显示单元上的投屏窗口之外的区域可视化显示有目标应用的运行界面,运行于后台时,第一应用的第一容器基于容器技术为目标应用虚拟出一虚拟运行界面并维护该虚拟运行界面,于此同时,第一设备基于第一容器抓取其真实可视化运行界面或虚拟运行界面的数据,而得到该目标应用的镜像流媒体数据,同时抓取其日志、程序状态机及权限等的动态配置数据,并将这些数据基于图7示出的投屏协议中的Docksync同步至第二设备,第二设备(如手机)基于同步过来的镜像流媒体数据为目标应用扩展并维护一虚拟运行界面,也即,在第二设备端,相当于基于容器的虚拟化技术,为各个未运行于其前台的目标应用扩展出了一虚拟运行界面(或者,换个角度,相当于为手机等小屏设备扩展出了一个或多个虚拟显示屏),具体可参见图9提供的示例,同时,第二设备基于接收的配置数据,如日志、程序状态机及权限等的动态配置数据,维持目标应用的基本框架及状态转换,使目标应用具有与第一设备中的目标应用相一致、相同步的运行状态。
反过来说,若第二设备端目标应用产生状态变化,如,因用户在第二设备端(如手机端)对目标应用进行操作或者第二设备端的目标应用与应用服务器进行交互(比如,手机微信与微信服务器进行交互)使其产生运行界面及配置数据等运行状态变化等,第二设备基于其第二容器抓取在第二设备为目标应用扩展的虚拟运行界面的数据,得到该目标应用的镜像流媒体数据,同时抓取其日志、程序状态机及权限等的动态配置数据,并将这些数据基于Docksync同步至第一设备端,由此,实现第一设备与第二设备双端之间在投屏模式下的应用数据同步。
需要说明的是,第一设备端的应用分身是不与应用服务器进行交互的。
传统技术只能基于应用的真实可视化运行界面,通过物理显卡抓取应用的镜像流媒体数据实现投屏模式中双端设备应用界面的投屏镜像,对于未运行于源端设备(第二设备)前台的应用,则无法实现将其向目的端设备的投屏,对于手机等屏幕尺寸受限的小屏设备来说,相当于仅能将运行于其前台、具有可视化运行界面的一个应用投屏至目的端设备,无法实现将多个应用向目的端设备进行同时投屏运行或同时投屏可视化,本申请实施例通过基于容器的虚拟化技术,在源端设备为未运行于其前台的至少一个目标应用扩展出至少一个虚拟显示屏(虚拟运行界面),相当于在源端设备扩展出了虚拟显卡,基于虚拟显卡针对扩展出的虚拟显示屏而抓取该未运行于其前台的至少一个目标应用的镜像流媒体数据,并完成镜像流媒体数据向目的端设备的同步,以此克服了传统技术存在的弊端,实现了源端设备的多个应用向目的端设备的同时投屏运行或同时投屏可视化。
需要说明的是,实际应用中,目的端设备的第一显示单元包括的显示屏幕的数量可能为多个,针对此情况,可基于目的端设备的多个显示屏而同时对源端设备的多个目标应用进行投屏可视化,一个典型示例是,当将第一设备投屏窗口中的目标应用图标拖拽至投屏窗口所处的当前显示屏的非边缘区域时,直接在第一设备当前显示屏的该非边缘区域显示目标应用的投屏运行界面,而当将投屏窗口中的目标应用图标拖拽至投屏窗口所处的当前显示屏的边缘区域时,则将目标应用的投屏运行界面跨屏显示于第一设备当前显示屏之外的另一显示屏上。
还需要说明的是,实际应用中,还可以基于本申请实施例而进行源端至目的端的多对一投屏模式,例如,将多个手机同时向一个电脑进行投屏,其中,针对每个手机,均可基于该一个电脑的一个或多个显示屏而同时对该手机上的多个未在前台运行的应用进行投屏可视化;另外,本申请实施例的投屏处理方案同时兼容传统的投屏技术,例如,对于投屏目的端设备的显示单元上的投屏窗口,其仍然对应于对投屏源端设备的原始屏幕界面进行镜像同步,对于投屏窗口内数据的投屏处理与控制过程,仍可采用现有投屏技术,不再详述。
对应于上述的投屏处理方法,本申请实施例还公开一种第一设备,该第一设备优选地为具备或能够具备大尺寸的第一显示单元的设备,如,第一设备具体可以是但不限于拥有大屏幕(相比于手机、手环等小屏设备而言)的笔记本、台式机、一体机等个人PC设备。
参见图10提供的第一设备的结构示意图,该第一设备可以包括:
第一显示单元1001。
其中,第一设备的第一显示单元1001可以包括一个或多个显示屏幕,另外,第一设备的第一显示单元包括的显示屏幕或部分数量的显示屏幕可以是第一设备自身提供的显示屏或外接的扩展显示屏,在此不加限制。
存储器1002,用于至少存储一组计算机指令集。
所述的计算机指令集可以采用计算机程序的形式实现。
存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其它易失性固态存储器件。
处理器1003,用于通过执行所述存储器上存放的指令集,实现如上文任一方法实施例所述的投屏处理方法。
处理器1003可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路(application-specific integrated circuit,ASIC),数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件等。
除此之外,第一设备还可以包括通信接口、通信总线等组成部分。存储器、处理器和通信接口通过通信总线完成相互间的通信。
通信接口用于第一设备与其它设备(如上文所述的第二设备)之间的通信。通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等,该通信总线可以分为地址总线、数据总线、控制总线等。
本实施例中,第一设备中的处理器在执行存储器中存放的计算机指令集时,通过在第一设备根据所需的至少一个依赖包而实质运行未运行于第二设备前台的至少一个目标应用,打破了传统投屏技术只能在目的端支持对源端屏幕界面可视化运行的单个应用的投屏镜像的局限,可支持在投屏过程中,对第二设备前台和/或非前台的多个应用进行投屏,改进了投屏功能,提升了用户的投屏应用体验。
除此之外,本申请实施例还提供了一种投屏处理系统,该系统包括如上文所述的第一设备,以及至少一个第二设备。
其中,第一设备用于作为投屏目的端,第二设备用于作为投屏源端。
两设备之间的投屏处理过程具体可参见上文任一方法实施例所述的投屏处理方法,不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种投屏处理方法,应用于具有第一显示单元的第一设备;
所述方法包括:
获得第一指示信息,所述第一指示信息用于指示在第一设备上对未运行于第二设备前台的至少一个目标应用进行投屏;
基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用;其中,所述依赖包是所述第一设备从所述第二设备获得的。
2.根据权利要求1所述的方法,所述获得第一指示信息,包括:
获得通过面向第一设备的投屏窗口中显示的至少一个目标应用执行目标操作而触发的所述第一指示信息;
其中,所述投屏窗口显示于所述第一设备的第一显示单元,所述第一设备响应于检测到的用于指示进入投屏模式的第二指示信息生成所述投屏窗口,并于所述第一显示单元显示所述投屏窗口;所述投屏窗口显示有第二设备的第二显示单元的界面内容,所述界面内容包括所述第二设备上至少一个应用的可视化显示。
3.根据权利要求2所述的方法,所述第二设备的第二显示单元的界面内容包括:所述第二设备上至少一个应用的应用图标的可视化显示,或者所述第二设备上一个应用的运行界面的可视化显示;
所述目标操作为如下操作中的任意一种:
用于指示将所述投屏窗口中至少一个目标应用移动至所述第一显示单元上所述投屏窗口之外的区域的移动操作;
在所述第一设备上包括至少一个目标应用的应用分身的情况下,用于指示启动运行至少一个目标应用的应用分身的启动操作;
其中,若所述第二设备的第二显示单元的界面内容包括所述第二设备上至少一个应用的应用图标的可视化显示,所述移动操作为:用于指示移动所述投屏窗口内至少一个目标应用的应用图标的图标移动操作;
若所述界面内容包括一个应用的运行界面的可视化显示,所述移动操作为:用于指示移动所述投屏窗口内所述一个应用的运行界面的界面移动操作。
4.根据权利要求1所述的方法,在运行所述至少一个目标应用之前,还包括:获得所述至少一个目标应用的运行所需的至少一个依赖包;
其中,所述第一设备部署有第一容器,所述第二设备部署有第二容器;
所述获得所述至少一个目标应用的运行所需的至少一个依赖包,包括:
获得所述第二设备同步的部署于所述第二容器中的所述至少一个目标应用的至少一个依赖包数据;
将所述至少一个依赖包数据部署于所述第一容器中;
将所述第一容器中完成部署后所得的至少一个目标应用对应的当前依赖包确定为所述至少一个目标应用的运行所需的至少一个依赖包;
其中,所述第二设备同步的所述至少一个依赖包数据为:
所述至少一个目标应用的运行所需的至少一个依赖包的完整数据;或者,所述至少一个目标应用的运行所需的至少一个依赖包的增量数据;
所述增量数据为第二容器中部署的所述至少一个目标应用的至少一个依赖包相比于所述第一容器中部署的所述至少一个目标应用的至少一个依赖包的增量数据。
5.根据权利要求3所述的方法,所述基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用,包括:
在所述目标操作为所述图标移动操作的情况下,基于至少一个目标应用对应的依赖包运行至少一个目标应用对应的应用分身;
在所述目标操作为所述界面移动操作的情况下,将所述一个应用的运行界面从所述投屏窗口内移动至所述第一显示单元上所述投屏窗口之外的区域,并运行所述一个应用的应用分身,维持所述应用分身处于与移动后的运行界面相一致的运行状态。
6.根据权利要求5所述的方法,其中:
运行目标应用对应的应用分身包括:
基于第一容器中部署的目标应用的依赖包所包括的库文件及应用配置文件,运行目标应用对应的应用分身。
7.根据权利要求1所述的方法,所述第一设备部署有第一容器,所述第二设备部署有第二容器;
在基于所述至少一个目标应用的运行所需的至少一个依赖包,在第一设备运行所述至少一个目标应用的过程中,还包括:
在第一设备的第一显示单元上投屏窗口之外的区域显示所述至少一个目标应用的运行界面,或者在第一设备基于第一容器虚拟出并维护所述至少一个目标应用的虚拟运行界面;
和/或,
将所述至少一个目标应用的第一运行状态信息同步至第二设备中运行的相应至少一个目标应用,以使所述至少一个目标应用在所述第二设备具有与所述第一设备中相一致的状态,或者,获得第二设备同步的目标应用的第二运行状态信息,以使所述目标应用在所述第一设备具有与所述第二设备中相一致的状态。
8.根据权利要求7所述的方法,所述将所述至少一个目标应用的第一运行状态信息同步至第二设备中运行的相应至少一个目标应用,包括:
将第一设备中该目标应用的当前运行状态对应的配置数据及镜像流媒体数据同步至第二设备中的该目标应用,以使第二设备中的该目标应用分别基于同步的配置数据及镜像流媒体数据维持与第一设备中该目标应用相一致的运行状态及虚拟界面状态;
其中,第一设备同步至第二设备的镜像流媒体数据,为第一设备的第一容器基于第一设备上该目标应用的运行界面或虚拟运行界面获得的数据。
9.根据权利要求7所述的方法,所述获得第二设备同步的目标应用的第二运行状态信息,包括:
获得第二设备同步的该目标应用的当前运行状态对应的配置数据及镜像流媒体数据,第一设备中该目标应用分别基于第二设备同步的配置数据及镜像流媒体数据维持与第二设备中该目标应用相一致的运行状态及虚拟或非虚拟界面状态;
其中,第二设备同步至第一设备的镜像流媒体数据,为第二设备的第二容器基于在第二设备为目标应用虚拟出的虚拟运行界面而得到的数据。
10.一种第一设备,包括:
第一显示单元;
存储器,用于至少存储一组计算机指令集;
处理器,用于通过执行所述存储器上存放的指令集,实现如权利要求1-9任一项所述的投屏处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011202367.3A CN112328344B (zh) | 2020-11-02 | 2020-11-02 | 一种投屏处理方法及第一设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011202367.3A CN112328344B (zh) | 2020-11-02 | 2020-11-02 | 一种投屏处理方法及第一设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328344A CN112328344A (zh) | 2021-02-05 |
CN112328344B true CN112328344B (zh) | 2022-11-22 |
Family
ID=74324056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011202367.3A Active CN112328344B (zh) | 2020-11-02 | 2020-11-02 | 一种投屏处理方法及第一设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328344B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145513A (zh) * | 2021-03-31 | 2022-10-04 | 华为技术有限公司 | 一种投屏方法、系统及相关装置 |
CN113259757A (zh) * | 2021-04-08 | 2021-08-13 | 读书郎教育科技有限公司 | 一种便捷兼容多应用进行视频投屏的方法 |
CN113687754A (zh) * | 2021-08-10 | 2021-11-23 | 深圳康佳电子科技有限公司 | 应用程序分身投屏显示方法、装置、终端设备及存储介质 |
CN115904282A (zh) * | 2021-08-19 | 2023-04-04 | 华为技术有限公司 | 一种投屏方法、设备、存储介质及计算机程序产品 |
CN113746911A (zh) * | 2021-08-26 | 2021-12-03 | 科大讯飞股份有限公司 | 音频处理方法及相关装置、电子设备、存储介质 |
CN113835663A (zh) * | 2021-09-24 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 显示控制方法、装置、系统、电子设备、介质及程序产品 |
CN114168094B (zh) * | 2021-11-24 | 2024-07-02 | 深圳康佳电子科技有限公司 | 基于可继承状态机的Miracast消息处理方法、装置及设备 |
CN114339183A (zh) * | 2021-12-30 | 2022-04-12 | 深圳迈瑞动物医疗科技有限公司 | 一种内窥镜系统及其投屏方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135417A (zh) * | 2017-06-08 | 2017-09-05 | 深圳市耐飞科技有限公司 | 一种hls协议的投屏方法及系统 |
CN107493375A (zh) * | 2017-06-30 | 2017-12-19 | 北京超卓科技有限公司 | 移动终端扩展式投屏方法及投屏系统 |
CN108804088A (zh) * | 2018-04-25 | 2018-11-13 | 广州视源电子科技股份有限公司 | 协议处理方法和装置 |
CN109739518A (zh) * | 2018-12-25 | 2019-05-10 | 杭州数梦工场科技有限公司 | 生成离线软件资源的方法及装置 |
US10417058B1 (en) * | 2018-06-01 | 2019-09-17 | Intuit Inc. | Method and system for executing application programming interface (API) requests based on parent-child object relationships |
CN110381195A (zh) * | 2019-06-05 | 2019-10-25 | 华为技术有限公司 | 一种投屏显示方法及电子设备 |
CN110955415A (zh) * | 2019-12-03 | 2020-04-03 | 杭州当贝网络科技有限公司 | 一种投影多平台服务适配的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766050B (zh) * | 2017-10-31 | 2021-12-07 | 新华三云计算技术有限公司 | 一种异构应用的部署方法以及装置 |
CN111316598B (zh) * | 2018-07-17 | 2021-08-31 | 华为技术有限公司 | 一种多屏互动方法及设备 |
CN110515576B (zh) * | 2019-07-08 | 2021-06-01 | 华为技术有限公司 | 显示控制方法及装置 |
CN111031108B (zh) * | 2019-11-29 | 2021-09-03 | 维沃移动通信有限公司 | 一种同步方法及电子设备 |
CN111432070B (zh) * | 2020-03-17 | 2022-04-08 | 阿波罗智联(北京)科技有限公司 | 应用投屏控制方法、装置、设备和介质 |
-
2020
- 2020-11-02 CN CN202011202367.3A patent/CN112328344B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135417A (zh) * | 2017-06-08 | 2017-09-05 | 深圳市耐飞科技有限公司 | 一种hls协议的投屏方法及系统 |
CN107493375A (zh) * | 2017-06-30 | 2017-12-19 | 北京超卓科技有限公司 | 移动终端扩展式投屏方法及投屏系统 |
CN108804088A (zh) * | 2018-04-25 | 2018-11-13 | 广州视源电子科技股份有限公司 | 协议处理方法和装置 |
US10417058B1 (en) * | 2018-06-01 | 2019-09-17 | Intuit Inc. | Method and system for executing application programming interface (API) requests based on parent-child object relationships |
CN109739518A (zh) * | 2018-12-25 | 2019-05-10 | 杭州数梦工场科技有限公司 | 生成离线软件资源的方法及装置 |
CN110381195A (zh) * | 2019-06-05 | 2019-10-25 | 华为技术有限公司 | 一种投屏显示方法及电子设备 |
CN110955415A (zh) * | 2019-12-03 | 2020-04-03 | 杭州当贝网络科技有限公司 | 一种投影多平台服务适配的方法 |
Non-Patent Citations (1)
Title |
---|
基于Android平台的微型投影仪软件设计与实现;孙凤英;《中国优秀硕士学位论文全文数据库 (工程科技Ⅰ辑)》;20160315;第B024-468页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112328344A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112328344B (zh) | 一种投屏处理方法及第一设备 | |
CN109782976B (zh) | 文件处理方法、装置、终端及存储介质 | |
CN104536802B (zh) | 一种实现应用调用的方法及虚拟机 | |
CN107728885B (zh) | 多任务的控制方法、装置、移动终端及存储介质 | |
RU2734109C1 (ru) | Способ воспроизведения нескольких видео на мобильном терминале, мобильный терминал и считываемая запоминающая среда | |
JP6377263B2 (ja) | 端末機器においてスクリーンショットサービスを提供するための方法、装置、記憶媒体及び機器 | |
CN104168515A (zh) | 智能电视终端及其屏幕控制方法 | |
CN105630628B (zh) | 应用程序恢复方法及装置 | |
US20150205498A1 (en) | Automatic wallpaper image changer for a computing device | |
WO2015176448A1 (zh) | 一种终端智能分屏方法及装置 | |
MX2013003427A (es) | Redireccion de ambiente cruzado. | |
US20240086231A1 (en) | Task migration system and method | |
MX2013003515A (es) | Presentacion remota instantanea. | |
WO2013010143A2 (en) | Foreground/background assortment of hidden windows | |
CN106959879B (zh) | 一种控制方法及电子设备 | |
CN111049935A (zh) | 远程控制电子设备的系统及其电子设备 | |
CN102109959A (zh) | 屏幕旋转时java应用程序界面跟随旋转的方法 | |
WO2022218111A1 (zh) | 应用界面的显示方法、装置、终端及存储介质 | |
CN113268212A (zh) | 投屏方法、装置、存储介质及电子设备 | |
AU2015376591A1 (en) | Desktop sharing method and mobile terminal | |
US20240086360A1 (en) | File saving method and electronic device | |
CN111324398A (zh) | 最近内容的处理方法、装置、终端及存储介质 | |
WO2023179183A1 (zh) | 子程序同步处理 | |
CN104516618A (zh) | 界面功能解析显示方法及装置 | |
CN111988382B (zh) | 一种跨终端进行应用界面交互的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |