CN114253652A - 通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统 - Google Patents
通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统 Download PDFInfo
- Publication number
- CN114253652A CN114253652A CN202111648672.XA CN202111648672A CN114253652A CN 114253652 A CN114253652 A CN 114253652A CN 202111648672 A CN202111648672 A CN 202111648672A CN 114253652 A CN114253652 A CN 114253652A
- Authority
- CN
- China
- Prior art keywords
- cloud application
- client
- mobile terminal
- user
- window
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 230000000694 effects Effects 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 6
- 238000009877 rendering Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
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
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统,该方法包括:一、在云应用后台设置HTML5转换器,并在后台运行桌面协议客户端和HTML5转换器;二、用户在安卓移动终端通过云应用客户端登录云应用后,打开云应用时,先访问HTML5转换器,在HTML5转换器上访问桌面协议客户端所在的节点,通过该节点上的客户端与云应用远程桌面建立会话,将获取到的云应用画面与音频数据转换为HTML5 canvas画布绘制结果传递给安卓移动终端上的云应用客户端,最终由云应用客户端通过浏览器引擎展现给用户。将当前打开的云应用窗口,显示在本地的App窗口列表到这样的列表中,用户就可以很方便地操作这些云应用窗口,如同操作本地App一样。
Description
技术领域
本发明属于云应用技术领域,具体涉及一种通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统。
背景技术
移动云应用是将占据大部分日常工作场景的传统常规桌面应用的进一步云化,将应用从桌面中彻底剥离,转移到云中,并且实现在移动端访问桌面应用的功能,让用户可以在手机或平板上通过5G网络访问位于云上的电脑桌面应用,像使用本地App一样进行操作,采用远程窗口方式打开位于云计算基础设施平台上的办公类、2D设计类和3D设计类应用的电脑软件,如图1所示,能够为最终用户提供虚拟化、定制化的工作空间,用户可以在保障业务数据安全的前提下,支持从内网或外网接入到工作空间,像正常使用办公电脑一样,操作运行在云桌面上的办公、设计类应用,从而满足基于远程办公、数据安全与操作便捷等设计类现实工作需求。
在移动端访问云应用时,由于在手机屏幕上显示的是远程桌面的应用窗口部分,没有显示Windows桌面、开始菜单、任务栏、托盘等元素,且无法使用Ctrl/Alt/Delete这样的快捷键可以调出任务管理器功能,用户无法查看打开的所有云应用任务列表,如果在云应用窗口内部显示Windows自带的任务管理器,由于窗口太小,文字数量多,操作起来会很不方便。
发明内容
本发明的目的在于提供一种通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统,解决现有技术中在移动端访问云应用时,由于在手机屏幕上显示的是远程桌面的应用窗口部分,用户无法查看打开的所有云应用任务列表,为操作带来不便的技术问题。
为了解决上述技术问题,本发明采用技术方案实现:
一种通过模拟本地App实现安卓移动终端云应用窗口列表的方法,包括如下步骤:
步骤一、在云应用后台设置HTML5转换器,并在后台运行桌面协议客户端和HTML5转换器;
步骤二、用户在安卓移动终端通过云应用客户端登录后,打开云应用时,首先访问HTML5转换器,在HTML5转换器上访问桌面协议客户端所在的节点,通过该节点上的客户端与云应用远程桌面建立会话,将获取到的云应用画面与音频数据转换为HTML5 canvas画布绘制结果,然后通过WebSocket传递给安卓移动终端上的云应用客户端,最终由云应用客户端通过浏览器引擎展现给用户,并将用户的交互动作通过同样的路径逆向发送给云应用后台;此时云应用窗口位于本地的App窗口列表之中,以本地App应用的形式将云应用窗口展现给手机用户。
本发明所述的方案,通过设置HTML5转换器,将当前打开的云应用窗口,例如Word/Excel/PowerPoint表现为等同的本地App,让它们也显示到这样的列表中,用户就可以很方便地操作这些云应用窗口,比如用手指左右滑动浏览当前打开了哪些App,向上滑动关闭想要退出的App等,如同操作本地App一样。
进一步改进,用户在安卓移动终端通过云应用客户端登录云应用后,在云应用画面中呈现一个悬浮图标,用户点击悬浮图标后,进入安卓移动终端本地的App窗口列表,此时云应用窗口位于该列表之中,用户可以像操作安卓移动终端上的本地App一样操作这些云应用窗口。例如向上滑动就可以关闭该云应用,拖动就可以排序,或者做其它安卓移动终端上的本地App特有的窗口操作。
进一步改进,用户在云应用客户端打开多个云应用窗口之后,云应用客户端的渲染模块将会通过协议层获取到各个云应用窗口的信息,利用在同一个App内创建不同activity来显示多任务的技术,将云应用窗口模拟为移动端本地App窗口。
进一步改进,H5转换器侦听云应用窗口发生的事件,提取云应用窗口对象的各项属性信息,将云应用窗口动态启动为安卓Activity ;
当用户对安卓Activity进行关闭时,将操作反馈给云应用客户端,同步关闭该云应用窗口;
当用户在云应用客户端内部关闭云应用窗口时,同步触发关闭Activity的操作,当云应用客户端内部的云应用窗口画面发生改变时,触发Activity画面的更新。
一种通过模拟本地App实现安卓移动终端云应用窗口列表的系统,包括:
安卓移动终端,用于用户通过云应用客户端接入云应用管理后台,并显示本地的App窗口列表和云应用窗口;
云应用客户端,用于用户登录云应用,以及接收云应用管理后台发送的内容;
HTML5转换器,用户通过云应用客户端打开云应用时,首先访问HTML5转换器,在HTML5转换器上访问桌面协议客户端所在的节点,通过该节点上的客户端与云应用远程桌面建立会话,将获取到的云应用画面与音频数据转换为HTML5 canvas画布绘制结果,然后通过WebSocket传递给安卓移动终端上的云应用客户端,最终由云应用客户端通过浏览器引擎展现给用户;
云应用,部署在云端的应用程序;
云应用后台,用于接收云应用客户端发来的报文;以及向云应用客户端发送信息。
与现有技术相比,本发明技术方案具有如下有益效果:
本发明所述的方案,通过设置HTML5转换器,将当前打开的云应用窗口,例如Word/Excel/PowerPoint表现为等同的本地App,让它们也显示到这样的列表中,用户就可以很方便地操作这些云应用窗口,比如用手指左右滑动浏览当前打开了哪些App,向上滑动关闭想要退出的App等,如同操作本地App一样。
附图说明
图1为现有技术中采用远程窗口方式打开云应用的截屏;
图2为本发明通过模拟本地App实现安卓移动终端云应用窗口列表的方法的流程示意图;
图3为用于通过HTML5转换器于云应用交互的示意图;
图4为本发明所述云应用窗口位于本地的App窗口列表中的示意图;
图5为手机通过webrdp网关服务器与云应用后台的交互示意图;
图6为本发明所述通过模拟本地App实现安卓移动终端云应用窗口列表的系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一:
如图2所示,一种通过模拟本地App实现安卓移动终端云应用窗口列表的方法,包括如下步骤:
步骤一、在云应用后台设置HTML5转换器,并在后台运行桌面协议客户端和HTML5转换器;
步骤二、用户在安卓移动终端通过云应用客户端登录后,打开云应用时,首先访问HTML5转换器,在HTML5转换器上访问桌面协议客户端所在的节点,通过该节点上的客户端与云应用远程桌面建立会话,将获取到的云应用画面与音频数据转换为HTML5 canvas画布绘制结果,然后通过WebSocket传递给安卓移动终端上的云应用客户端,最终由云应用客户端通过浏览器引擎展现给用户,并将用户的交互动作通过同样的路径逆向发送给云应用后台;此时云应用窗口位于本地的App窗口列表之中,以本地App应用的形式将云应用窗口展现给手机用户,如图4所示。
手机自身的操作系统,无论是安卓还是苹果IOS,都带有应用列表的功能。本发明通过设置HTML5转换器,将当前打开的云应用窗口,例如Word/Excel/PowerPoint表现为等同的本地App,让它们也显示到这样的列表中,用户就可以很方便地操作这些云应用窗口,比如用手指左右滑动浏览当前打开了哪些App,向上滑动关闭想要退出的App等,如同操作本地App一样。
在本实施例中,以webrdp网关服务器作为HTML5转换器。采用webrdp的模式,在云应用后端运行webrdp网关服务器,从安卓打开云应用时,首先访问该网关服务器,在网关服务器上将会与最终的RDS主机建立会话,将获取的云应用窗口转换为HTML5的Canvas画布绘制结果,最终在安卓的客户端上通过浏览器引擎展现给用户,并将用户的交互动作发送给远端服务器。
如5图所示,WebRDP网关部署运行在DMZ区域,对外提供websocket接入通道,其内部分为guacbackend和guacd两个服务组件,前者负责实现websocket方式的Guacamoleover http协议通道,后者负责与RDP服务端建立并维护RDP协议会话,两者之间的通道是由二进制的RDP协议转换而成的Guacamole协议。
guacamole协议是一个远程屏幕绘制和事件传输协议。拥有这两项能力的协议自然而然与远程桌面协议有相同的功能。guacamole协议与远程桌面协议的设计原则不同,guacamole协议本身不实现任何特定桌面系统的远程桌面功能。
guacamole协议是其他现有远程桌面协议的超集。guacamole要支持一个具体的远程桌面协议(比如RDP),只需要实现一个中间层来做两种协议之间的翻译,这与实现一个原生客户端是一样的,只是原生客户端在本地绘制屏幕,这个中间层却将屏幕绘制到远端屏幕。guacd(guacamole proxy)就是这个中间层。guacd是guacamole的核心,guacd通过从web应用接收到的指令,动态地加载客户端插件,通过客户端插件连接到具体的远程桌面服务端。
guacd伴随guacamole一起安装,以守护进程的形式在后台运行,监听来自web应用的TCP连接。它本身仅仅支持guacamole协议,并不支持任何具体的远程桌面协议(比如RDP),它通过加载的客户端插件来实现对具体的远程桌面协议的支持。客户端插件被加载后,就独立运行。客户端插件对自身和web应用之间的交互有完全的自主控制能力,知道客户端插件终止运行。guacd与客户端插件都基于libguac库开发,这个库提供了对guacamole协议更方便和更抽象的使用方法。
安卓移动端基于uni-app 框架进行开发,使用 Vue.js 开发所有前端应用的框架,编写代码。可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
在本实施例中,对于窗口列表的云应用,用户可以向上滑动对其进行关闭、拖动进行排序,或者做安卓移动终端上特有的App窗口操作。
在本实施例中,用户在云应用客户端打开多个云应用窗口之后,云应用客户端的渲染模块将会通过协议层获取到各个云应用窗口的信息,包括窗口标题栏、窗口大小、窗口画面等信息。利用在同一个App内创建不同activity来显示多任务的技术,将云应用窗口模拟为移动端本地App窗口。
在本实施例中,H5转换器侦听云应用窗口发生的事件,提取云应用窗口对象的各项属性信息,包括标题、图标、画面等,将云应用窗口动态启动为安卓Activity 。
当用户对安卓Activity进行关闭时,将操作反馈给云应用客户端,同步关闭该云应用窗口;
当用户在云应用客户端内部关闭云应用窗口时,同步触发关闭Activity的操作,当云应用客户端内部的云应用窗口画面发生改变时,触发Activity画面的更新;
当用户在手机上对Activity窗口进行锁定操作时,传递到云应用客户端内部时显示相应的锁定提示。
实施例二:
如图6所示, 一种通过模拟本地App实现安卓移动终端云应用窗口列表的系统,包括:
安卓移动终端,用于用户通过云应用客户端接入云应用管理后台,并显示本地的App窗口列表和云应用窗口;
云应用客户端,用于用户登录云应用,以及接收云应用管理后台发送的内容;
HTML5转换器,用户通过云应用客户端打开云应用时,首先访问HTML5转换器,在HTML5转换器上访问桌面协议客户端所在的节点,通过该节点上的客户端与云应用远程桌面建立会话,将获取到的云应用画面与音频数据转换为HTML5 canvas画布绘制结果,然后通过WebSocket传递给安卓移动终端上的云应用客户端,最终由云应用客户端通过浏览器引擎展现给用户;
云应用,部署在云端的应用程序;
云应用后台,用于接收云应用客户端发来的报文;以及向云应用客户端发送信
上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (5)
1.通过模拟本地App实现安卓移动终端云应用窗口列表的方法,其特征在于,包括如下步骤:
步骤一、在云应用后台部署HTML5转换器,并在后台运行桌面协议客户端和HTML5转换器;
步骤二、用户在安卓移动终端通过云应用客户端登录后,打开云应用时,首先访问HTML5转换器,在HTML5转换器上访问桌面协议客户端所在的节点,通过该节点上的客户端与云应用远程桌面建立会话,将获取到的云应用画面与音频数据转换为HTML5 canvas画布绘制结果,然后通过WebSocket传递给安卓移动终端上的云应用客户端,最终由云应用客户端通过浏览器引擎展现给用户,并将用户的交互动作通过同样的路径逆向发送给云应用后台;此时云应用窗口位于本地的App窗口列表之中,以本地App应用的形式将云应用窗口展现给手机用户。
2.根据权利要求1所述的通过模拟本地App实现安卓移动终端云应用窗口列表的方法,其特征在于,用户在安卓移动终端通过云应用客户端登录云应用后,在云应用画面中呈现一个悬浮图标,用户点击悬浮图标后,进入安卓移动终端本地的App窗口列表,此时云应用窗口位于该列表之中,用户可以像操作安卓移动终端上的本地App一样操作这些云应用窗口。
3.根据权利要求1所述的通过模拟本地App实现安卓移动终端云应用窗口列表的方法,其特征在于,用户在云应用客户端打开多个云应用窗口之后,云应用客户端的渲染模块将会通过协议层获取到各个云应用窗口的信息,利用在同一个App内创建不同activity来显示多任务的技术,将云应用窗口模拟为移动端本地App窗口。
4.根据权利要求3所述的通过模拟本地App实现安卓移动终端云应用窗口列表的方法,其特征在于,H5转换器侦听云应用窗口发生的事件,提取云应用窗口对象的各项属性信息,将云应用窗口动态启动为安卓Activity ;
当用户对安卓Activity进行关闭时,将操作反馈给云应用客户端,同步关闭该云应用窗口;
当用户在云应用客户端内部关闭云应用窗口时,同步触发关闭Activity的操作,当云应用客户端内部的云应用窗口画面发生改变时,触发Activity画面的更新。
5.一种通过模拟本地App实现安卓移动终端云应用窗口列表的系统,其特征在于,包括:
安卓移动终端,用于用户通过云应用客户端接入云应用管理后台,并显示本地的App窗口列表和云应用窗口;
云应用客户端,用于用户登录云应用,以及接收云应用管理后台发送的内容;
HTML5转换器,部署在云应用后台,用户通过云应用客户端打开云应用时,首先访问HTML5转换器,在HTML5转换器上访问桌面协议客户端所在的节点,通过该节点上的客户端与云应用远程桌面建立会话,将获取到的云应用画面与音频数据转换为HTML5 canvas画布绘制结果,然后通过WebSocket传递给安卓移动终端上的云应用客户端,最终由云应用客户端通过浏览器引擎展现给用户;
云应用,部署在云端的应用程序;
云应用后台,用于接收云应用客户端发来的报文;以及向云应用客户端发送信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648672.XA CN114253652A (zh) | 2021-12-31 | 2021-12-31 | 通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648672.XA CN114253652A (zh) | 2021-12-31 | 2021-12-31 | 通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253652A true CN114253652A (zh) | 2022-03-29 |
Family
ID=80795811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111648672.XA Pending CN114253652A (zh) | 2021-12-31 | 2021-12-31 | 通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253652A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895824A (zh) * | 2022-05-12 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 应用窗口的处理方法、终端设备、服务器和存储介质 |
CN117724797A (zh) * | 2024-02-18 | 2024-03-19 | 北京麟卓信息科技有限公司 | 一种基于异构混合渲染的自由缩放优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341453A (zh) * | 2016-08-23 | 2017-01-18 | 北京永信至诚科技股份有限公司 | 一种基于html5的高速虚拟桌面代理构建方法与系统 |
CN112188264A (zh) * | 2020-09-11 | 2021-01-05 | 深圳市华曦达科技股份有限公司 | 基于Android实现多窗口播放视频的方法及终端 |
US11036344B1 (en) * | 2016-09-13 | 2021-06-15 | Parallels International Gmbh | Managing application windows of applications from different servers within a same browser window on a user device |
-
2021
- 2021-12-31 CN CN202111648672.XA patent/CN114253652A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341453A (zh) * | 2016-08-23 | 2017-01-18 | 北京永信至诚科技股份有限公司 | 一种基于html5的高速虚拟桌面代理构建方法与系统 |
US11036344B1 (en) * | 2016-09-13 | 2021-06-15 | Parallels International Gmbh | Managing application windows of applications from different servers within a same browser window on a user device |
CN112188264A (zh) * | 2020-09-11 | 2021-01-05 | 深圳市华曦达科技股份有限公司 | 基于Android实现多窗口播放视频的方法及终端 |
Non-Patent Citations (1)
Title |
---|
LING9400: "同一个app不同activity显示多任务(仿微信小程序切换效果)", pages 1, Retrieved from the Internet <URL:https://www.jianshu.com/p/a8f695841008> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895824A (zh) * | 2022-05-12 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 应用窗口的处理方法、终端设备、服务器和存储介质 |
CN117724797A (zh) * | 2024-02-18 | 2024-03-19 | 北京麟卓信息科技有限公司 | 一种基于异构混合渲染的自由缩放优化方法 |
CN117724797B (zh) * | 2024-02-18 | 2024-04-09 | 北京麟卓信息科技有限公司 | 一种基于异构混合渲染的自由缩放优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601633B2 (en) | Virtual window screen renderings using application connectors | |
US7107543B2 (en) | Single applet to communicate with multiple HTML elements contained inside of multiple categories on a page | |
KR101438102B1 (ko) | 클립보드 동기화 서버 및 그를 포함한 클립보드 동기화 시스템 | |
US20180121217A1 (en) | Multi-window architecture and data communication for a remote access application session | |
CN114253652A (zh) | 通过模拟本地App实现安卓移动终端云应用窗口列表的方法及系统 | |
US10289278B2 (en) | Displaying webpage information of parent tab associated with new child tab on graphical user interface | |
US20230136034A1 (en) | Systems for Platform-Independent Application Publishing to a Web Container | |
EP3151112B1 (en) | Optimizing software application user interface performance using interface images | |
CN103365840A (zh) | 一种基于web的截图方法和装置 | |
US11886678B2 (en) | Multiple windows for a group-based communication system | |
CN112328342B (zh) | 基于在线文档的待办事项处理方法及装置 | |
WO2024011899A1 (zh) | 微件的加载方法、装置、设备以及存储介质 | |
US8156250B2 (en) | Arrangements for a 3270 compatible terminal with browser capability | |
JP7393468B2 (ja) | データ同期方法、装置、電子機器、記憶媒体及びコンピュータプログラム | |
CN111125595B (zh) | 多页面控制方法、装置、电子设备及存储介质 | |
CN109740096B (zh) | 一种实时预览的实现方法、装置、系统及存储介质 | |
WO2024061308A1 (zh) | 通知处理方法、终端设备、服务端及计算机存储介质 | |
CN112764746B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20170060112A1 (en) | Control program for accessing browser data and for controlling appliance | |
US20200356720A1 (en) | Rendering Based on a Document Object Model | |
US20110258169A1 (en) | Customization of Information Using a Desktop Module | |
CN103902727A (zh) | 网络搜索方法和装置 | |
CN107995091B (zh) | 基于企业即时通信应用的自助服务方法和装置 | |
US8566724B2 (en) | Online customization of information using a site management module | |
US20220382825A1 (en) | Method and system for web page co-browsing |
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 |