移动设备管理系统中远程卸载功能的设计与实现

移动设备管理系统中远程卸载功能的设计与实现
傅弘弼;金有星;王弋出
【摘 要】本文为解决移动设备数据安全问题,通过对移动设备Android系统本地静默卸载技术和云推送技术的研究,有效地将两个技术相结合,实现通过互联网远程卸载Android系统指定APP的功能.此功能模块分服务端和客户端,客户端作为APP独立运行于Android系统移动设备上,服务端内嵌于移动设备管理系统.从而实现在任何地方任意时间远程卸载APP,防止智能移动终端数据泄露.
【期刊名称】小型净水器《电子世界》
【年(卷),期】2016(000)021
【总页数】3页(P85-87)
【关键词】云推送;静默卸载;Android;数据安全
食品可追溯系统
【作 者】傅弘弼;金有星;王弋出
厌氧胶能用于木材吗【作者单位】温州市公用事业投资集团有限公司;温州市公用事业投资集团有限公司;温州市公用事业投资集团有限公司
【正文语种】中 文
随着智能移动终端、4G网络的普及,通信网络质量的提高,企业的信息化应用逐步由传统信息化向移动信息化发展,移动信息化正在成为企业信息化有力的补充。移动信息化的发展,将企业业务由传统办公区扩展到智能移动终端和移动通信网络所能达到的任何地方,从而真正实现了anytime and anywhere的办公模式,大大提高了工作效率,节约了工作成本。
但是,由于将企业业务系统扩展到智能移动终端,随之而来的是智能终端数据泄露的安全问题日益严重[1]。本文以百度云推送为例,介绍了通过设计Android系统静默卸载程序,同时结合云推送技术,实现远程卸载Android设备指定APP的功能,从而解决智能移动终端设备丢失等情况下远程卸载指定APP,防止企业数据泄露的方法[2]。
远程卸载模块分服务器端和客户端,服务器端主要是在管理系统卸载APP功能模块中集成云推送服务端。客户端共有二部分组成:Android静默卸载程序、云推送模块。
(1)Android静默卸载程序[4]。Android系统获得root权限后,静默卸载程序在系统后台执行卸载命令,而无需用户参与操作、或在系统中弹出提示信息。目前大多数的Android助手型软件均采用静默安装卸载方式实现程序的一键安装或卸载。本模块采用静默卸载方式目的是在推送卸载命令后,Android系统接受到命令能够自动执行命令,而不受外界任何操作的干扰。
(2)百度云推送(Push)是百度云平台向开发者提供的消息推送服务。通过百度云与程序客户端之间建立稳定、可靠的长连接,使开发者能够为客户端程序提供实时推送消息功能[7]。百度云推送服务支持推送三种类型的消息:通知、透传消息及富媒体:支持向所有用户或根据标签分类向特定用户体推送消息,相对与客户端pull方式,push方式实时性更强[8]。PUSH方式与Pull方式的特点如表1所示:
水泥胶砂振动台消息推送服务是由消息发送方发起,消息接收方和发送方事先建立网络连接,然后接收推送消息。在程序开发中,发起方称作推送服务器(Push Server),接收方称作客户端(Client)。相比通过Pull方式来接收消息或通知,Push方式实时性更强,同时更节约网络流量。所以,目前大部分对实时性要求高的程序,均采用Push的方式来进行消息通知[8]。
推送服务器可向指定的设备(Device)或是用户(User)推送消息,一个用户对应一个UserID,一个User可能拥有多台设备,我们向同一个UserID推送消息时,他所有绑定了UserID的设备都能收到消息[9]。百度云推送是通过客户端向推送服务器注册,并在客户端的监听端口获取推送服务器返回的 ChannelID和UserID,ChannelID对应一个终端,在向推送服务器注册的过程中,设备可以发送IMIE码或者UUID作为唯一标识,在推送服务器注册后再将生成的ChannelID和UserID返回给客户端[9]。设备注册完毕后,推送服务器维护一个注册设备列表,这个列表维护了UserID和ChannelID以及与设备对应的关系,当需要向指定的设备或用户推送消息时,推送服务器会首先遍历这个设备列表,通过这两个ID来做唯一性判断并到需要推送消息的设备,然后就可以进行消息推送了[9],如图1所示。
百度云推送服务支持推送三种类型的消息:通知、透传消息及富媒体;支持向所有用户或根据标签分类向特定用户体推送消息;支持多种自定义功能(如自定义内容、后续行为、样式模板等);提供用户信息及通知消息统计信息,方便开发者进行后续开发及运营。
采用百度云推送是为了能将卸载命令实时的推送到Android系统上,只要Android系统联网就能接收到推送命令,不需要关注Android平板所在地,Android平板的联网IP等。百度提供了完
整的Demo帮助开发者集成云推送服务,推送服务SDK通过。jar包和。so文件的方式可以集成到我们自己的工程中,实现推送功能。
远程卸载的实现原理为:
(1)静默卸载程序集成推送SDK,实现与百度云推送服务器建立连接鸡笼的做法
(2)移动设备管理系统作为推送命令客户端调用百度云SDK服务器端,将卸载指令发送到百度云推送服务器上。
(3)百度云推送服务器根据已注册的API Key,和推送消息中的USERID和ChannelID 将卸载指令作为消息推送到指定ID的Android设备上。
(4)Android设备的SDK接收到推送消息,透传消息给静默卸载程序的指定参数里,实现程序卸载。
卸载命令推送运行机制,如图2所示:
3.1 静默卸载程序的实现
要实现远程卸载,首先必须实现本地静默卸载。通过设计代码直接在Android设备上直接输入预推送的消息,以测试是否能够实现本地静默卸载。如果代码能够实现本地静默卸载,则可以进一步通过推送消息,让卸载代码接收消息实现卸载。静默卸载的shell 命令格式为: private string cmd_uninstall = "pm uninstall + packageName"。31au
在Android系统获得root权限后,配置以下四步实现静默卸载:
(1)获得卸载权限。
(2)在主程序MainActivity。java中定义卸载命令。
(3)在主程序MainActivity。java中定义卸载命令的执行方法。
(4)为方便测试本地卸载效果,在主程序MainActivity。java中定义一个卸载按钮。
3.2 云推送透传消息的实现
静默卸载程序本地测试后,就可以配置云推送。将云推送SDK嵌入的wzgyMDM工程中,实现远程信息推送。
要实现信息推送,首先得在百度开发者平台注册一个开发者账户,并建立一个推送消息的工程,生成对应的API key和Secret Key。百度云推送通过API key和Secret Key作为唯一识别码,识别推送的对象
账户生成API key和Secret Key后,就可以建立工程并下载云推送的客户端SDK,SDK的压缩文件中包含一个例子代码,一个用户手册,和所需的libs和资源等,
SDK下载完成后,根据SDK包的用户手册指导,在wzgyMDM工程中集成云推送SDK,具体步骤:
(1)将SDK程序包中libs下文件pushservice-4.1.0.jar导入到工程中的 libs目录mips目录下;将libbdpush_V2_1.so导入到工程中的libs 目录 armeabi目录下。如图3所示:
(2)SDK程序包中主要有四个类:MyPushMessageReceiver。 java:这个类作用是接收和发送消息;DemoApplication。java:这个类作用是启动和停止推送;Utils。java:这个类保存了通用函数和工具集;MainActivity。java:是wzgymdm的主程序。将这四个类导入到wzgymdm工程src 中com。wzgymdm下。如图4所示:
(3)在AndroidManifest。xml 中添加push service 运行需要的权限。
(4)在AndroidManifest。xml中绑定预先在百度开发者中心注册的apikey。
(5)APPlication 初始化调用配置:将导入工程的demoapplication的packagename 改为wzgymdm的工程名,并且在AndroidMmanifest。 xml的Application 标签中指定 Android:name 属性值为该Application。
(6)修改MyPushMessageReceiver。java,使推送消息实现透传,并调用卸载代码。首先将MyPushMessageReceiver。java 包名修改为wzgymdm工程名,然后在透传消息处理函数中,加入透传信息的处理方法。

本文发布于:2024-09-23 00:37:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/267019.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:推送   卸载   消息   实现
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议