一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在Linux系统上兼容运行Android应用的文件分享方法与流程

2021-11-25 00:48:00 来源:中国专利 TAG:

在linux系统上兼容运行android应用的文件分享方法
技术领域
1.本发明涉及应用兼容技术领域,具体涉及一种在linux系统上兼容运行 android应用的文件分享方法。


背景技术:

2.随着国家对信息网络安全的重视,越来越多的操作系统开始考虑兼容性和安全性。linux系统在由于其安全机制,常常作为安全性能高的操作系统使用;作为基于linux内核发展而来的android系统,是目前移动终端市场中市场份额最高的操作系统,在移动终端领域具有极好的生态环境。因此android应用生态在linux操作系统上的兼容成为了近期研究热点。国内外许多研究人员正在尝试将android运行环境迁移到linux操作系统平台以实现android应用程序在linux操作系统上兼容、支持的效果。
3.众所周知,在android手机上,各应用之间可以快速便捷的进行文件分享,比如在qq里可以将文件通过安装了的微信发送给微信好友。这种分享方式极大地方便了各应用之间进行数据传递,而在linux系统上兼容运行的 android应用事件上运行在容器环境中,导致linux和android应用之间的文件分享存在一定的障碍,如何让在linux上运行的android兼容环境与 linux之间融合的更加紧密,使得linux和android应用之间也能快速方便的进行文件分享,是亟待解决的问题。


技术实现要素:

4.为了解决linux上的android兼容环境存在的android应用程序和 linux之间无法快捷方便地进行文件分享的技术问题,方便用户在linux与android应用窗口之间进行双向的快速显示分享文件,本发明提供了一种在 linux系统上兼容运行android应用的文件分享方法,其特征在于,通过初始化环境及窗口实现linux系统及android应用之间的双向数据分享;
5.初始化环境及窗口通过如下步骤实现:
6.步骤s1:在linux操作系统上运行容器里的android兼容环境;
7.步骤s2:linux系统与android系统进行文件映射;
8.步骤s3:linux事件服务程序与android事件服务程序建立本地socket 通信;
9.步骤s4:linux端通过socket发送启动android应用的请求;
10.步骤s5:android环境启动被请求的android应用;
11.步骤s6:linux创建android应用窗口并绑定所述android应用。
12.其中,将所述linux系统上将要被分享的文件信息传输到android应用及android应用读取所述linux系统上将要被分享的文件信息的实现步骤包括:
13.步骤sa:从linux端拖拽待分享的文件到绑定了android应用窗口,并获取文件信息;
14.步骤sb:android应用窗口通过本地socket通信传递文件信息到 android事件服
务程序;
15.步骤sc:所述android应用根据文件路径获取文件的内容信息数据;
16.步骤sd:使用android内建的分享功能在android应用窗口快速显示分享文件。
17.其中,所述步骤sa在拖拽待分享的文件之前还进行如下操作:
18.判断linux端文件是否存在;
19.若是,linux系统分享文件到所述android应用窗口;
20.若否,linux系统保持当前状态。
21.其中,所述步骤sd中,android在显示分享文件之前还进行如下操作:
22.android应用窗口读取linux系统的文件是否正常;
23.若异常,暂停文件分享到android应用;
24.若正常,android应用保持当前状态;
25.其中,将所述android应用的将要被分享的文件信息传输到linux及 linux系统读取所述android应用的将要被分享的文件信息的实现步骤包括:
26.步骤sl:android应用获取将要被分享给linux系统的文件信息;
27.步骤sm:android应用通过图形界面上的点击分享调用android的系统分享选择器界面;
28.步骤sn:分享选择器界面在列表中选择分享文件到linux端;
29.步骤so:android事件服务程序获取文件信息并通过本地socket通信发送到linux事件服务程序;
30.步骤sp:linux事件服务程序接收到消息解析信息数据后拉起文件保存器;
31.步骤sq:文件保存器将分享的文件让用户选择文件保存路径并将分享的文件拷贝到指定路径下。
32.其中,所述步骤sl中,android应用获取将要被分享给linux系统的文件信息之前,还进行如下操作:
33.判断android应用端文件是否存在;
34.若是,android应用分享文件到所述linux;
35.若否,android应用保持当前状态。
36.其中,linux系统读取所述android应用的将要被分享的文件信息之前,还进行如下操作:
37.linux服务程序读取android应用的文件是否正常;
38.若异常,暂停文件分享到linux;
39.若正常,linux桌面保持当前状态。
40.其中,所述步骤s6包括:
41.步骤s61:linux系统创建所述android应用显示视窗;
42.步骤s62:android端通过zygote进程创建android应用进程, android应用与所述android应用显示视窗绑定包含其参数,参数包括但不限于displayid及包名;
43.步骤s63:linux端的服务程序根据应用的参数创建对应的图形窗口,完成窗口绑定并显示。
44.本发明提供的在linux系统上兼容运行android应用的文件分享方法,解决了
linux上的android兼容环境存在的android应用程序和linux之间无法快捷方便地进行文件分享的技术问题,方便了用户在linux与android应用窗口之间进行双向的快速显示分享文件。
附图说明
45.图1为本发明整体框架图;
46.图2为本发明的双向数据流示意图。
具体实施方式
47.为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
48.图1是在linux系统上兼容运行android应用的分析文件方法与机制的整体框架图,从图中可以看出,linux和android共享同一个内核,彼此之间的通信使用本地socket,为了实现文件分享,两者之间需要完成文件映射。
49.图2是本发明的双向数据流示意图。其中
①②③④⑤
为linux系统的文件分享到android应用流程;
⑥⑦⑧③⑨
为android应用的文件分享到linux系统。
50.将linux系统的文件分享到android时,直接将linux端的文件拖拽到 android应用绑定的linux图形窗口即可,窗口程序使用linux端服务程序 (linux event server)提供的dbus服务的接口函数将数据通过socket发送给android内的服务程序(android event server),最后使用android 系统内建的分享功能完成文件分享。而将android应用的文件分享到linux 时,在android应用图像界面上选择文件进行分享,调出系统分享选择器,在系统分享选择器的可分享应用列表中,选择在android内的服务程序中创建的应用分享界面,再通过socket传送给linux端服务程序,在所述linux 端服务程序收到android分享过来的文件信息数据后,调用文件保存器(filesaver)选择保存路径进行文件拷贝。
51.具体实现方式如下:
52.(1)将linux系统的文件分享到android的具体实现方式:
53.在发送文件共享时,从linux端将文件拖拽到android应用绑定的linux 图形窗口时,图形窗口程序解析拖拽的文件信息,窗口程序再发送文本并通过socket将文件信息发送给android系统服务,随后使用android系统内建的分享功能进行文件分享。所述android系统服务接收到拖拽的文件信息后进行解析获取参数,并通过参数信息创建一个intent,初始化intent的分享参数信息,并指定其action为intent.action_send,采用binder ipc 向system_server进程中的activitymanagerservice服务发起 startactivity请求,再由activitymanagerservice服务解析所述intent 参数,为了便于支持该类型内容的应用打开,指定需要发送的内容和类型,设置分享文件的uri和文件类型,拉起android应用的文件分享界面, android应用获取文件参数信息,通过文件的映射关系,直接读取的文件形式发送到对应的接收者,分享完成后收到结果返回。
54.(2)将android应用的文件分享到linux的具体实现方式:
55.每当android应用点击文件分享时,android系统服务创建一个分享到 linux桌面的选项,开启android的系统分享选择器,分享界面显示需要分享的应用列表信息,当用户
点击文件分享到linux时,所述的android系统服务接收到用户分享行为,获取分享的文件信息,再通过socket发送文件信息到linux相关服务,所述linux相关服务会将信息解析出来,获取文件路径,让用户选择保存路径后进行文件拷贝操作。
56.本发明解决了linux上的android兼容环境存在的android应用程序和 linux之间无法快捷方便地进行文件分享的技术问题,方便了用户在linux 与android应用窗口之间进行双向的快速显示分享文件。
57.虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献