登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 通信学苑 > 中级互联网技术 >> 正文
正文
多网络和Linux代理的Android无线远程控制系统
来源:尚大教育-通信学院 作者:辉辉 时间;2013-02-25 点击数: 尚大软考交流群:376154208
随着智能系统的高速发展和智能移动终端的普及,在政府部门和企事业单位,员工使用Android系统的智能终端(包括手机和平板电脑)办公越来越多,利用网络对移动终端进行控制和管理,十分必要,目前的远程控制大多基于应用层实现,只能对特定的一些应用或者上层的一些权限进行管理和控制,不能对Android终端实现真正意义上的完全控制。另外,这些远程控制只是基于单个网络实现,不能保证远程控制的稳定实现。

    接收消息:在被控终端,Socket接收到控制端的消息后,会调用NotificationManager,在Android终端通知栏显示消息,点击通知会显示详细信息。

    接收文件:Socket后台接收文件,保存在/sdcard/download文件夹下,然后通过Agent命令执行copy命令,将文件复制到命令里面指定的路径下。文件名和保存路径通过报头获取。

    管理应用:安装应用分两步实现,第一步接收文件,第二步执行安装。第一步实现与上面所讲的接收文件相同,只是报文为“install‖n ame.apk”.默认保存到SD卡上的mnt/sdcard/apk路径下,然后,调用agent执行shell安装命令install mnt/sdeard/apk/name.apk.卸载应用时,直接执行接收到的命令uninstall packagename.启动应用时,通过Android系统接口Intent实现,停止和卸载都是通过被控终端上的Agent代理实现。“start‖appName”启动应用的时候,通过本地包管理获取到appName对应的包名packageName,新建一个Intent,启动包含该包的应用。代码如下:

    通过shell命令执行kill PID.PID是应用进程号,通过ActivityManager可以获取到。

    设备控制:可以通过命令例如“shell‖reboot”直接控制重启。

    3.4 Agent代理实现

    在编译系统内核的时候,将agent_server编入到路径/data/agentserver/agent_server下,用以接收命令。调用的时候,通过建立一个本地Socket,通过数据流发送shell命令到agent_setwer所在路径,实现通信。当agent_server接收到命令后,执行shell命令。

    4  测试结果

    设计的系统在ZTE U880手机上连接WiFi进行测试。图3为控制端界面,图4为控制端发送消息,图5为被控终端接收消息,图6为发送文件,图7为远程安装应用软件,图8为远程卸载应用软件,图9为shell命令界面。测试结果表明,系统能够实现发送消息、发送文件、安装和卸载应用,以及执行shell命令实现系统重启功能。

    结语

    本文设计了一个采用C/S模式实现的Android远程控制系统。控制端与被控终端之间采用Socket进行网络通信,在知道对方SIM卡号的情况下,也能通过GSM发送短信通信,能够实现多种网络的稳定通信。通过Linux代理能够实现root权限的操作,理论上可以实现对Android系统的完全远程控制。

来顶一下
返回首页
返回首页
上一篇:短距离无线通信我们该如何关注
下一篇:Wi-Fi Direct遥控整合方案实现高速无缝串流
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年10月14日通信考试还有
通信各地考务机构
各省市通信报名简章