多网络和Linux代理的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系统的完全远程控制。
- 多屏融合技术在电视应用中的普及问题(06-17)
- RFID技术让现实版马里奥赛车成为可能(03-02)
- 博通公司推出嵌入式设备单片Wi-Fi解决方案(05-04)
- 联发科技发布最新高度整合802.11ac Wi-Fi解决方案(05-04)
- 无线通信设备用晶体振荡子XRCGD系列(03-15)
- IPad无线控屏系统在大屏幕行业的应用(06-09)