CN114780199B - 一种多窗口模式下安卓应用显示输出的共享方法 - Google Patents

一种多窗口模式下安卓应用显示输出的共享方法 Download PDF

Info

Publication number
CN114780199B
CN114780199B CN202210683311.7A CN202210683311A CN114780199B CN 114780199 B CN114780199 B CN 114780199B CN 202210683311 A CN202210683311 A CN 202210683311A CN 114780199 B CN114780199 B CN 114780199B
Authority
CN
China
Prior art keywords
application
shared
android
display
android application
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
Application number
CN202210683311.7A
Other languages
English (en)
Other versions
CN114780199A (zh
Inventor
温研
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Linzhuo Information Technology Co Ltd
Original Assignee
Beijing Linzhuo Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Linzhuo Information Technology Co Ltd filed Critical Beijing Linzhuo Information Technology Co Ltd
Priority to CN202210683311.7A priority Critical patent/CN114780199B/zh
Publication of CN114780199A publication Critical patent/CN114780199A/zh
Application granted granted Critical
Publication of CN114780199B publication Critical patent/CN114780199B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本发明公开了一种多窗口模式下安卓应用显示输出的共享方法,通过为创建共享的安卓应用的虚显建立虚拟显示设备,并标识出用户指定的被共享安卓应用的图层形成被分享图层,将所有被分享图层作为虚拟显示设备的LayerStack,以完成将被分享应用的窗口分享到创建共享安卓应用对应的显示设备中,从而实现了多窗口模式下安卓应用对特定安卓应用的显示输出共享。

Description

一种多窗口模式下安卓应用显示输出的共享方法
技术领域
本发明属于安卓应用数据共享技术领域,具体涉及一种多窗口模式下安卓应用显示输出的共享方法。
背景技术
用户在安卓系统或安卓兼容环境中使用安卓应用时,往往会有共享屏幕的需求,例如,在使用视频会议类软件时用户有共享桌面的需求。现有安卓系统的显示系统主要包括CPU、GPU和Display三个部分,其中,CPU负责计算帧数据,然后把计算完成的图像数据交给GPU,GPU对图像数据进行渲染,然后把渲染后的数据放到图形缓存区中,SurfaceFlinger将从图形缓冲区中取出的数据合成一帧的数据放入帧缓冲区,最后Display从帧缓冲区中取出这些数据展示到屏幕上。VirtualDisplay是虚拟的Display,能够抓取屏幕上显示的内容主要用于截屏过程,能够满足用户共享屏幕的需求。现有的显示输出共享技术,通过获取当前系统的屏幕数据再将屏幕数据发送至安卓应用的方式基本解决了安卓系统内以及安卓兼容环境中运行的安卓系统的屏幕共享问题。
为了便于用户同时操作多个应用程序,安卓系统从7.0版开始引入了多窗口模式,即允许用户在同一屏幕中同时打开多个应用程序。然而,现有的显示输出共享技术无法满足用户在多窗口模式下共享特定安卓应用窗口的显示输出的需求。
发明内容
有鉴于此,本发明提供了一种多窗口模式下安卓应用显示输出的共享方法,能够在多窗口模式下实现特定安卓应用窗口显示输出的共享。
本发明提供的一种多窗口模式下安卓应用显示输出的共享方法,包括以下步骤:
在安卓系统编译安卓应用时将能够创建虚显的安卓应用作为创建共享应用,提取创建共享应用的包名作为创建共享应用包名,将创建共享应用与创建共享应用包名对应保存在创建共享应用列表中;
在安卓应用创建虚显时,获取该安卓应用的应用包名和Activity,若应用包名存在于创建共享应用列表中,则将其包名和Activity分别作为创建共享包名和创建共享Activity,并将虚显、创建共享包名和创建共享Activity的对应关系记为创建共享对应关系,同时将创建共享Activity的窗口大小设定为用户选定的被分享应用的窗口大小;否则退出本流程;
在用户选定需要分享的安卓应用作为被分享应用时,获取被分享应用的taskId和窗口大小,并确定与被分享应用进程相关的图层作为被分享图层;
当SurfaceFlinger服务接收到显示状态更新消息时,遍历当前保存的Display,若存在状态仅为读取状态且类型为虚显的Display,则遍历当前所有的图层,将所有被分享图层添加到同一LayerStack中,采用所述LayerStack创建与该Display相关的虚拟显示设备,由所述虚拟显示设备将被分享图层显示到屏幕中;如果不存在状态仅为读取状态且类型为虚显的Display,则退出本流程。
进一步地,所述将创建共享Activity的窗口大小设定为用户选定的被分享应用的窗口大小的方式为:在安卓系统中安卓应用获取窗口大小信息的函数中,获取当前Activity对应的安卓应用包名,若安卓应用包名存在于所述创建共享应用列表中,则采用所述被分享应用的窗口大小作为函数的返回值;否则按照函数的原有方式返回结果。
进一步地,所述函数为Resources. getDisplayMetrics、Display. GetMetrics或Display.getSize。
进一步地,当所述被分享应用的窗口大小发生变化时,仅在接收到鼠标抬起事件时获取所述被分享应用的最新的窗口大小,再将创建共享Activity的窗口大小设定为所述最新的窗口大小。
进一步地,所述在安卓系统编译安卓应用时将能够创建虚显的安卓应用作为创建共享应用,提取创建共享应用的包名作为创建共享应用包名的方式为:在安卓系统的ART引擎对安卓应用的Java方法进行编译的过程中,若存在对创建虚显API的调用,则确定该安卓应用为创建共享应用,保存该安卓应用的包名为创建共享应用包名。
进一步地,所述保存该安卓应用的包名为创建共享应用包名的方式为保存到公共存储区内的列表、文件或共享内存中。
进一步地,所述保存该安卓应用的包名为创建共享应用包名的方式为将创建共享应用包名设置为系统属性值。
进一步地,所述确定与被分享应用进程相关的图层作为被分享图层的方式为:在SurfaceView类的更新Surface的函数中将安卓应用的taskId保存在该安卓应用的每个surface的名称中。
进一步地,所述共享方法还包括当安卓应用运行在安卓兼容环境中时,所述在用户选定需要分享的安卓应用作为被分享应用时,获取被分享应用的taskId和窗口大小的方式为:采用安卓应用显示单元指定被分享应用,获取被分享应用的taskId和窗口大小,再通过RPC消息传递给安卓兼容环境内运行的安卓应用兼容服务。
有益效果:
本发明通过为创建共享的安卓应用的虚显建立虚拟显示设备,并标识出用户指定的被共享安卓应用的图层形成被分享图层,将所有被分享图层作为虚拟显示设备的LayerStack,以完成将被分享应用的窗口分享到创建共享安卓应用对应的显示设备中,从而实现了多窗口模式下安卓应用对特定安卓应用的显示输出共享。
附图说明
图1为本发明提供的一种多窗口模式下安卓应用显示输出的共享方法的流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
为了便于理解本专利提供的技术方案,现将与本专利相关的安卓系统技术名词以及桌面系统相关名词列举如下:
SurfaceFlinger服务,是用于在安卓系统中将接收到的多个来源的图形显示数据合成后发送到显示设备。例如,安卓应用一般包括三个图层:顶部的状态栏、底部或者侧面的导航栏以及应用的界面,单独更新和渲染图层,再将图层发送到SurfaceFlinger服务进行合成后刷新到硬件显示。
绘制表面(Surface),是安卓应用窗口第一次显示时请求安卓系统内的WindowManagerService服务为其创建的用于记录窗口显示内容的类。安卓系统中,窗口(Window)是从设计者角度定义的关于层次和布局的类,Surface则是从工程师实现角度定义的类。窗口的内容是变化的,Surface需要有空间来记录每个时刻窗口的内容。在安卓系统的SurfaceFlinger实现里,Surface一般具有两个缓冲区,分别用于绘画和显示,两个缓冲区按照固定的频率进行交换,从而实现窗口的动态刷新。
图层(Layer),是SurfaceFlinger 进行合成的基本操作单元。Layer在安卓应用请求创建Surface时在SurfaceFlinger内部创建,因此Surface与Layer对应。
显示(Display),是用于从帧缓冲区中取出数据信息并将数据信息展示到屏幕上的类,其中,虚显(VirtualDisplay)是Display的子类。Display的状态一般包括读取状态(mCurrentState)和待绘制状态(mDrawingState)两类,其中,处于待绘制状态的Display通常为处于读取状态的Display的子集。
虚拟显示绘制表面(VirtualDisplaySurface),是安卓系统为虚显创建的用于渲染图形数据的类。
显示设备(DisplayDevice),是用于描述显示屏的类,用于是将DisplaySurface中的渲染数据显示在显示屏上。
显示服务器,是运行在桌面操作系统中的程序,负责协调客户端与操作系统的其他部分之间、硬件与操作系统之间的输入和输出。显示服务器基于显示服务器协议与客户端进行通信将客户端的信息显示在显示设备中,Windows系统中显示服务器协议为 XWindow,Linux系统中显示服务器协议包括X11、Wayland 和 Mir,其中,X11是 Linux 发行版中最常用的显示服务器协议。本发明中,为了避免混淆便于表述,将桌面系统中的显示设备(DisplayDevice)称为桌面显示设备,将安卓系统中的显示设备(DisplayDevice)成为安卓显示设备。
LayerStack,用于建立图层(Layer)与显示设备(DisplayDevice)之间关联关系,通常在图层(Layer)和显示设备(DisplayDevice)中采用整形成员mLayerStack保存LayerStack类的索引ID,SurfaceFlinger服务根据mLayerStack成员确定图层与显示设备之间的绘制对应关系,每个显示设备包含唯一的LayerStack,LayerStack可对应多个显示设备。
本发明提供的一种多窗口模式下安卓应用显示输出的共享方法,流程如图1所示,包括以下步骤:
在安卓应用启动之前,安卓系统编译安卓应用时将能够创建虚显的安卓应用作为创建共享应用,并提取创建共享应用对应的包名作为创建共享应用包名,将创建共享应用的名称与创建共享应用包名对应保存到创建共享应用列表中;
在安卓应用创建虚显时获取该安卓应用的应用包名和Activity,若应用包名存在于创建共享应用列表中,则将其包名和Activity分别作为创建共享包名和创建共享Activity,并将虚显、创建共享包名和创建共享Activity的对应关系记为创建共享对应关系,同时将创建共享Activity的窗口大小设定为用户选定的被分享应用的窗口大小;否则退出本流程;
用户选定需要分享的安卓应用作为被分享应用时,获取被分享应用的taskId和窗口大小,并确定与被分享应用进程相关的图层为被分享图层;
当SurfaceFlinger服务接收到显示状态更新消息时,遍历当前保存的Display,若存在状态仅为读取状态且类型为虚显的Display,则遍历当前所有的图层,将所有被分享图层添加到同一LayerStack中,再创建与该Display相关的虚拟显示设备,并将上述LayerStack设置为虚拟显示设备的LayerStack;如果不存在状态仅为读取状态且类型为虚显的Display,则退出本流程。
进一步地,当被分享应用的窗口大小发生变化时,只在收到鼠标抬起事件时获取新的窗口大小,再将创建共享Activity的窗口大小设定为新的窗口大小。
进一步地,本发明中提供了设定创建共享Activity的窗口大小的系统级的实现方式,即通过修改安卓系统中安卓应用获取窗口大小信息的相关函数来实现,相关函数如:Resources. getDisplayMetrics、Display. GetMetrics及Display.getSize等,具体来说,通过在相关函数中增加根据当前Activity对应的应用包名判断该安卓应用是否为创建共享应用,如果是则将被分享应用的窗口大小作为函数的返回值,否则按原有方式返回结果。
当用户在桌面系统中使用安卓应用时往往需要采用安卓兼容环境,现有安卓兼容环境的实现方案有xDroid,它包括xDroidUI和xDroidServer,xDroidUI为安卓应用显示单元,xDroidService为安卓应用兼容服务。
当在安卓兼容环境中采用本发明提供的一种多窗口模式下安卓应用显示输出的共享方法时,用户选定被分享应用时获取被分享应用的taskId和窗口大小的方式则为:用户采用安卓应用显示单元指定被分享应用,获取被分享应用的taskId和窗口大小,再通过RPC消息传递给安卓兼容环境内运行的安卓应用兼容服务。在安卓兼容环境中获取用户选定被分享应用的taskId和窗口大小的方式不限于上述方式,例如还可以采用用户新建进程的方式获取。
本发明中,提供了一种安卓系统编译安卓应用时将能够创建虚显的安卓应用作为创建共享应用并提取创建共享应用对应的包名作为创建共享应用包名的系统级的实现方式,即为通过修改安卓系统内ART引擎对Java方法的编译过程分析安卓应用确定其是否为创建共享应用,ART引擎为将Java运行时编译转换成Native Code的服务。具体来说,在ART引擎对安卓应用内Java方法的编译过程中,当检测到存在对创建VirtualDisplay的API调用时,则认为该安卓应用为创建共享应用,并保存该安卓应用的packageName,例如,将packageName保存到公共存储区内的列表packagesCreateVirtualDisplay中、文件中或是共享内存中,还可以将packageName设置为系统属性等。其中,创建VirtualDisplay的API调用,如createVirtualDisplay等。
进一步地,本发明提供了在安卓应用创建虚显时获取该安卓应用的应用包名和Activity的系统级实现方式,具体为:修改与创建VirtualDisplay相关的函数,在函数内获取当前进程的packageName和Activity,与创建VirtualDisplay相关的函数包括MediaProjection. createVirtualDisplay、DisplayManager.createVirtualDisplay、DisplayManagerGlobal.createVirtualDisplay,或VirtualDisplay的构造函数等。
此外,对于获取到的创建共享应用的应用包名和Activity,可采用函数内成员变量的方式进行保存,例如,在VirtualDisplay构造函数中增加String类型成员变量用于保存packageName,增加Activity类型成员变量用于保存Activity。
本发明中,确定与被分享应用进程相关的图层为被分享图层的方式为:通过修改安卓框架建立Layer与安卓应用之间的关联关系,具体来说,修改SurfaceView类中与更新Surface相关的函数,如updateSurface,以将当前进程的taskId保存在应用的每个surface的名称中,由于安卓系统中当SurfaceFlinger为每个surface创建对应的layer时,通常情况下layer的名称与surface的名称相同,由此即可建立Layer与安卓应用间的关联关系,即通过Layer名称中带有的taskId即可判断其是否属于特定安卓应用;或者,通过在Surface类中增加用于保存taskId的成员变量,并同时修改SurfaceFlinger创建Layer的接口,以实现建立Layer与安卓应用间的关联关系。
实施例1:
本实施中采用本发明提供的一种多窗口模式下安卓应用显示输出的共享方法,实现了在安卓兼容环境内多窗口模式下安卓应用显示输出的共享,具体包括以下步骤:
步骤1、修改安卓系统中的ART引擎对Java方法的编译过程,当检测到对createVirtualDisplay的调用时,则认为该安卓应用为能够创建虚显的安卓应用,将其作为创建共享应用,提取创建共享应用对应的包名作为创建共享包名,将创建共享应用的名称与创建共享包名对应保存到公共存储区内的列表packagesCreateVirtualDisplay中。
步骤2、修改安卓应用获取窗口大小信息的函数的实现,下面是修改后的实现过程:
步骤2.1、执行修改前的功能;
步骤2.2、获取当前的ActivityThread,根据ActivityThread获取当前进程的包名;
步骤2.3、如当前进程的包名在packagesCreateVirtualDisplay中,则修改当前函数返回结果中窗口大小为windowSize;否则,不修改结果正常返回。其中,windowSize为被分享应用的窗口大小。
步骤3、在安卓应用创建虚显时获取该安卓应用的应用包名和Activity,具体来说,修改安卓系统中创建VirtualDisplay的相关函数,在函数内获取当前进程的packageName和Activity,并将该Activity记为activitySharingScreen;再将packageName作为String类型成员变量、activitySharingScreen作为Activity类型成员变量保存在VirtualDisplay类的实例中。
步骤4、用户通过xDroidUI指定需要分享的安卓应用作为被分享应用,xDroidUI将应用的packageName、taskId和windowSize通过RPC传递给安卓内的xDroidService,xDroidService将其保存到公共存储区内的数据结构列表appToShareScreen中。
步骤5、修改更新SurfaceView类中更新Surface的相关函数updateSurface,将当前进程的taskId保存在安卓应用的每个surface的名称中,再SurfaceFlinger将taskId保存到与surface对应的Layer的名称中,则名称中带有taskId的图层为与被分享应用对应的被分享图层。
步骤6、修改SurfaceFlinger::handleTransactionLocked,在安卓应用创建虚显时,比较SurfaceFlinger的mCurrentState和mDrawingState,如果mCurrentState中存在mDrawingState中没有的Display且该Display是 VirtualDisplay,则认为该Display是虚显将其命名为vdisplay,遍历安卓系统内所有的layers,从每个layer的名称中提取出taskId,将所有taskId与appToShareScreen中taskId相同的layer加入同一LayerStack中,将该LayerStack命名为appLayerStack,再为vdisplay创建DisplayDevice命名为vdisplaydevice,将vdisplaydevice的LayerStack设置为appLayerStack,再将vdisplaydevice保存到 mDisplays 中进行管理;如果不存在状态仅为读取状态且类型为虚显的Display,则退出本流程。
进一步地,当被分享应用的窗口大小发生改变时,由于实时将应用窗口改变大小的消息传递到安卓兼容环境内会产生较大的处理开销,因此本实施例中选择当xDroidUI检测到被分享应用的窗口大小发生改变时,并不向安卓兼容环境传递,而是在接收到鼠标UP事件时再向安卓兼容环境传递被分享应用窗口大小改变的消息,即将被分享应用的最终窗口大小通过RPC消息传递给xDroidService;当xDroidService收到被分享应用窗口大小改变的消息后,禁用vsync信号后,调用activitySharingScreen的onConfigurationChanged函数传递进最终窗口大小,再获取activitySharingScreen的ActivityRecord调用ActivityRecord的重启Activity方法重启activitySharingScreen,最后当xDroidService收到activitySharingScreen重启结束事件后,恢复vsync信号。此外,在安卓系统9.0版中重启Activity的方法为relaunchActivityLocked。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,包括以下步骤:
在安卓系统编译安卓应用时将能够创建虚显的安卓应用作为创建共享应用,提取创建共享应用的包名作为创建共享应用包名,将创建共享应用与创建共享应用包名对应保存在创建共享应用列表中;
在安卓应用创建虚显时,获取该安卓应用的应用包名和Activity,若应用包名存在于创建共享应用列表中,则将其包名和Activity分别作为创建共享包名和创建共享Activity,并将虚显、创建共享包名和创建共享Activity的对应关系记为创建共享对应关系,同时将创建共享Activity的窗口大小设定为用户选定的被分享应用的窗口大小;否则退出本流程;
在用户选定需要分享的安卓应用作为被分享应用时,获取被分享应用的taskId和窗口大小,并确定与被分享应用进程相关的图层作为被分享图层;
当SurfaceFlinger服务接收到显示状态更新消息时,遍历当前保存的Display,若存在状态仅为读取状态且类型为虚显的Display,则遍历当前所有的图层,将所有被分享图层添加到同一LayerStack中,采用所述LayerStack创建与该Display相关的虚拟显示设备,由所述虚拟显示设备将被分享图层显示到屏幕中;如果不存在状态仅为读取状态且类型为虚显的Display,则退出本流程。
2.根据权利要求1所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,所述将创建共享Activity的窗口大小设定为用户选定的被分享应用的窗口大小的方式为:在安卓系统中安卓应用获取窗口大小信息的函数中,获取当前Activity对应的安卓应用包名,若安卓应用包名存在于所述创建共享应用列表中,则采用所述被分享应用的窗口大小作为函数的返回值;否则按照函数的原有方式返回结果。
3.根据权利要求2所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,所述函数为Resources. getDisplayMetrics、Display. GetMetrics或Display.getSize。
4.根据权利要求1所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,当所述被分享应用的窗口大小发生变化时,仅在接收到鼠标抬起事件时获取所述被分享应用的最新的窗口大小,再将创建共享Activity的窗口大小设定为所述最新的窗口大小。
5.根据权利要求1所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,所述在安卓系统编译安卓应用时将能够创建虚显的安卓应用作为创建共享应用,提取创建共享应用的包名作为创建共享应用包名的方式为:在安卓系统的ART引擎对安卓应用的Java方法进行编译的过程中,若存在对创建虚显API的调用,则确定该安卓应用为创建共享应用,保存该安卓应用的包名为创建共享应用包名。
6.根据权利要求5所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,所述保存该安卓应用的包名为创建共享应用包名的方式为保存到公共存储区内的列表、文件或共享内存中。
7.根据权利要求5所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,所述保存该安卓应用的包名为创建共享应用包名的方式为将创建共享应用包名设置为系统属性值。
8.根据权利要求1所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,所述确定与被分享应用进程相关的图层作为被分享图层的方式为:在SurfaceView类的更新Surface的函数中将安卓应用的taskId保存在该安卓应用的每个surface的名称中。
9.根据权利要求1所述的一种多窗口模式下安卓应用显示输出的共享方法,其特征在于,所述共享方法还包括当安卓应用运行在安卓兼容环境中时,所述在用户选定需要分享的安卓应用作为被分享应用时,获取被分享应用的taskId和窗口大小的方式为:采用安卓应用显示单元指定被分享应用,获取被分享应用的taskId和窗口大小,再通过RPC消息传递给安卓兼容环境内运行的安卓应用兼容服务。
CN202210683311.7A 2022-06-17 2022-06-17 一种多窗口模式下安卓应用显示输出的共享方法 Active CN114780199B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210683311.7A CN114780199B (zh) 2022-06-17 2022-06-17 一种多窗口模式下安卓应用显示输出的共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210683311.7A CN114780199B (zh) 2022-06-17 2022-06-17 一种多窗口模式下安卓应用显示输出的共享方法

Publications (2)

Publication Number Publication Date
CN114780199A CN114780199A (zh) 2022-07-22
CN114780199B true CN114780199B (zh) 2022-08-23

Family

ID=82421218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210683311.7A Active CN114780199B (zh) 2022-06-17 2022-06-17 一种多窗口模式下安卓应用显示输出的共享方法

Country Status (1)

Country Link
CN (1) CN114780199B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107589989A (zh) * 2017-09-14 2018-01-16 晨星半导体股份有限公司 基于安卓平台的显示装置及其图像显示方法
CN113741840A (zh) * 2020-09-10 2021-12-03 华为技术有限公司 多窗口投屏场景下的应用界面显示方法及电子设备
CN112988419A (zh) * 2021-03-12 2021-06-18 麒麟软件有限公司 一种将Linux输入法共享给Android的方法
CN114185508B (zh) * 2022-02-15 2022-04-26 麒麟软件有限公司 在Linux兼容安卓系统上进行左右分屏的方法
CN114201087B (zh) * 2022-02-17 2022-05-20 北京麟卓信息科技有限公司 一种安卓应用图标在Linux任务栏的显示方法
CN114579246B (zh) * 2022-05-05 2022-07-08 北京麟卓信息科技有限公司 一种安卓兼容环境中多窗口模式下安卓应用的截屏方法

Also Published As

Publication number Publication date
CN114780199A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
US10545749B2 (en) System for cloud computing using web components
KR100475432B1 (ko) 그래픽 사용자 인터페이스의 디자인 변경 방법 및 이를 위한 기록매체
CN109032722B (zh) 更新ui组件的显示效果的方法、装置及设备、介质
US7536645B2 (en) System and method for customizing layer based themes
RU2466450C2 (ru) Способ и система для создания ит-ориентированных серверных сетевых приложений
JPH10507853A (ja) ウィンドウをサービスするためのオブジェクト指向システム
US20020002606A1 (en) Method and system for managing storage devices over a network
MXPA06003282A (es) Sistema y metodo para un motor de composicion unificada en un sistema de procesamiento de graficos.
CN108304239B (zh) 用于远程操作的快速界面交互方法及装置
CN114741081B (zh) 一种基于异构缓存访问的跨运行环境显示输出共享方法
JP3695545B2 (ja) 表示装置上の画像の非同期的保持方法
CN114663272B (zh) 一种图像处理方法及电子设备
CN114969747B (zh) 一种桌面系统上安卓应用的限制截屏方法
CN114895961B (zh) 一种跨运行环境的显示输出共享方法
US20080163263A1 (en) Method for acquisition of gdi and direct x data
CN116775916A (zh) 一种多媒体内容播放方法、装置、设备及存储介质
CN113504862A (zh) 视图数据处理方法、装置、目标设备及存储介质
CN114780199B (zh) 一种多窗口模式下安卓应用显示输出的共享方法
CN112783660A (zh) 虚拟场景中的资源处理方法、装置及电子设备
US20080084426A1 (en) Off-screen buffering management device and method
CN116954824A (zh) 一种支持多种扩展现实 (xr) 技术规范应用程序与2d应用程序多进程混合运行的运行时系统、数据交互方法、设备及介质
CN109388457B (zh) 一种多场景的远程快速界面交互方法及装置
CN116483240A (zh) 基于列表的空数据占位视图实现方法、装置及电子设备
CN103677792A (zh) 一种基于龙芯平台Linux操作系统下rdesktop的优化方法
CN109683939A (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