一种应用防卸载方法和系统的制作方法

文档序号:6537709阅读:172来源:国知局
一种应用防卸载方法和系统的制作方法
【专利摘要】本发明公开了一种应用防卸载设备,驻留在与管理服务器通信连接的移动终端中,以防止将目标应用从移动终端中卸载,该防卸载设备包括:视图加载器,适于创建视图,并使该视图处于移动终端的屏幕最上方;卸载处理器,适于清除视图,并且在屏幕上呈现接收密码输入的卸载接口,当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作;第一密码获取器,适于向管理服务器发送包括移动终端的标识在内的第一密码请求,以从管理服务器获取与该移动终端相关联的预设密码;以及卸载事件监视器,适于监视卸载目标应用的操作事件,并且在监测到卸载目标应用的操作时,指示视图加载器创建视图,并随后激活卸载处理器。本发明还公开一种相应的应用防卸载方法和包括该应用防卸载设备的应用防卸载系统。
【专利说明】一种应用防卸载方法和系统
【技术领域】
[0001]本发明涉及移动通信领域,尤其涉及对移动终端上的应用进行管理的应用防卸载方法和系统。
【背景技术】
[0002]随着信息技术的高速发展,出现了各种各样具有高处理能力的移动终端。适于在这些移动终端上运行的应用也越来越多地被开发出来,很多企业甚至都开发出了基于移动终端的商业应用。企业内部的员工也开始使用在移动终端上的应用来帮助与企业客户进行沟通和交易等。由于移动终端的便携性,用户很容易将移动终端同时用于个人和商业用途。因此,员工会在移动终端上下载并使用与企业本身业务无关的应用,并且有可能使得移动终端感染病毒并且导致企业的信息泄露。为了便于对移动终端进行管理,出现了对这些移动终端进行统一管理的企业移动终端管理系统(EMM)。
[0003]EMM通常包括安全管理、应用管理等。由于移动终端容易丢失和被偷窃,因此在移动终端上的数据处于高风险当中。当通过移动终端来访问企业数据并且在本地存储数据时,企业就失去了对在移动终端上的数据控制,因此需要EMM来对移动终端进行管理,以加强对在移动终端上的数据保护,包括防止对移动终端上数据的未经授权访问,具体措施可以包括密码保护、加密和/或远程擦除技术,即允许管理员删除出现问题的移动终端上的全部数据。
[0004]EMM需要在移动终端上安装专门的应用,并利用该应用来设置移动终端的使用策略、保护移动终端上数据的安全以及防止对移动终端的异常使用。例如EMM可能仅仅允许移动终端安装经过认证的应用以及仅仅允许从特定的网站来下载应用等。
[0005]由于移动终端采用了现代的操作系统(例如,谷歌公司开发的安卓操作系统等)来管理移动终端。这类操作系统具有权限管理功能。为了能够对移动终端进行全面管理,EMM安装在移动终端上的管理应用通常具有最高的权限。例如,在安卓操作系统中,EMM可以将管理应用构造成设备管理应用,从而具有对移动终端的完全管理权限。
[0006]然而,由于移动终端通常由用户日常使用,一些用户同样拥有对该移动终端的最高权限。用户如果从移动终端中删除管理应用,则EMM就无法对移动终端进行远程控制,从而失去了对移动终端的数据保护功能。因此,需要一种可以防止用户未经许可就卸载诸如管理应用之类、用于管理移动终端的重要应用的方案。

【发明内容】

[0007]为此,本发明提供一种新的移动终端上的应用防卸载设备、系统和方法以力图解决或者至少缓解上面存在的问题。
[0008]根据本发明的一个方面,提供了一种应用防卸载设备。该防卸载设备驻留在与管理服务器通信连接的移动终端中,以防止将目标应用从移动终端中卸载。该防卸载设备包括:视图加载器,适于创建视图,并使该视图处于移动终端的屏幕最上方;卸载处理器,适于清除该视图,并且在屏幕上呈现接收密码输入的卸载接口,当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作;第一密码获取器,适于向管理服务器发送包括移动终端的标识在内的第一密码请求,以从管理服务器获取与该移动终端相关联的预设密码;以及卸载事件监视器,适于监视卸载目标应用的操作事件,并且在监测到卸载目标应用的操作时,指示视图加载器创建视图,并随后激活卸载处理器。
[0009]可选地,根据本发明的应用防卸载设备还包括第二密码获取器,适于向所述管理服务器发送包括所述移动终端的标识在内的第二密码请求,并接收从所述管理服务器返回的预设密码以便提供给移动终端的用户。
[0010]可选地,在根据本发明的应用防卸载设备中,视图的尺寸和移动终端的屏幕尺寸相同,从而覆盖整个屏幕。
[0011]可选地,在根据本发明的应用防卸载设备中,在卸载处理器中,当经由卸载接口接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。
[0012]可选地,在根据本发明的应用防卸载设备中,卸载处理器还适于将移动终端的任务列表中卸载目标应用的任务替换为与所述卸载接口相关的任务。
[0013]可选地,在根据本发明的应用防卸载设备中,目标应用为设备管理应用。
[0014]根据本发明的另一个方面,提供了一种管理服务器,该服务器和移动终端通信连接,以便和移动终端进行协作来防止在移动终端上的目标应用被未经许可卸载了。该管理服务器包括密码生成器,适于根据移动终端的标识生成与该移动终端相关联的预设密码;存储器,适于相关联地存储各个移动终端的标识和预设密码,并且还存储各个移动终端获取预设密码的权限;密码发送器,适于接收来自移动终端的第一密码请求,从存储器中获取与该移动终端的标识相对应的预设密码,并返回给移动终端。
[0015]可选地,在根据本发明的管理服务器中,密码发送器还适于接收来自移动终端的第二密码请求,当存储器中存储的、该移动终端获取预设密码的权限允许时,从存储器中获取与该移动终端的标识相对应的预设密码并返回给移动终端。
[0016]根据本发明的还有一个方面,提供了一种应用防卸载系统,其包括根据本发明的管理服务器以及一个或者多个受管理的移动终端,每个移动终端包括如根据本发明的应用防卸载设备,该应用防卸载设备从管理服务器获取预设密码,以防止在移动终端上运行的目标应用未经许可被卸载了。
[0017]根据本发明的另一个方面,提供了一种应用防卸载方法,该方法在与管理服务器通信连接的移动终端中执行以防止将目标应用从移动终端中卸载。该方法包括步骤:向管理服务器发送包括移动终端的标识在内的第一密码请求,以从管理服务器获取与该移动终端相关联的预设密码;监视卸载目标应用的操作事件;在监测到卸载目标应用的操作时,创建视图,并使该视图处于移动终端的屏幕最上方;清除该视图,并且在屏幕上呈现接收密码输入的卸载接口 ;以及当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作。
[0018]可选地,根据本发明的应用防卸载方法还包括步骤:向管理服务器发送包括移动终端的标识在内的第二密码请求,并接收从管理服务器返回的预设密码以便提供给移动终端的用户。
[0019]可选地,在根据本发明的应用防卸载方法中,所创建的视图的尺寸和移动终端的屏幕尺寸相同,从而覆盖整个屏幕。
[0020]可选地,根据本发明的应用防卸载方法还包括步骤:当经由卸载接口接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。该方法还包括步骤:将移动终端的任务列表中卸载目标应用的任务替换为呈现卸载接口的任务。
[0021]可选,在根据本发明的应用防卸载方法中,目标应用为设备管理应用。
[0022]根据本发明的还有一个方面,提供了一种移动终端,包括:在移动终端上的目标应用;以及根据本发明的应用防卸载设备,用于防止在移动终端上卸载目标应用。
[0023]根据本发明的应用防卸载方案中,当监控到用户试图卸载目标应用的操作时,就会在移动终端屏幕的最上方呈现创建的视图。由于视图处于屏幕的最上方,获取了移动终端的操作焦点,因此用户对移动终端的所有操作被该视图所获取而不能用于卸载目标应用的操作。随后启动的卸载处理器可以清除视图,并在屏幕上显示卸载接口以覆盖在卸载目标应用的接口之上,用户只有输入了正确的密码,卸载处理器才会消除该卸载接口并呈现在下方的卸载目标应用的接口。这确保了只有在卸载接口上输入了正确的密码,才能够继续卸载目标应用的操作。从而可以有效防止未经许可来卸载目标应用。
[0024]另外,根据本发明的应用防卸载方案,并不需要对目标应用进行任何修改,从而可以适于对各种目标应用提供防卸载功能。
[0025]另外,根据本发明的应用防卸载方案,用于确认用户能否卸载应用的预设密码在管理服务器上根据移动终端的标识而生成。只有经过允许的移动终端才可以获得该预设密码,从而确保了用户不能未经许可来卸载目标应用。
【专利附图】

【附图说明】
`[0026]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0027]图1示出了根据本发明一个实施例的移动终端的应用防卸载系统的示意图;
[0028]图2示出了根据本发明一个实施例的管理服务器的结构示意图;
[0029]图3示出了根据本发明一个实施例的移动终端的结构示意图;以及
[0030]图4示出了根据本发明一个实施例的、适于在移动终端上执行的应用管理方法的流程图。
【具体实施方式】
[0031]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0032]图1示出了根据本发明一个实施例的移动终端的应用防卸载系统100的示意图。如图1所示,应用防卸载系统100包括一个或者多个移动终端121、122、…、12η (在下文中统称为移动终端120),适于由系统管理员使用来对整个管理系统进行管理的管理终端140和管理服务器130。
[0033]取决于移动终端的网络类型,移动终端120可以经由各种移动数据网络170与管理服务器130进行通信。例如当移动终端120具有GPRS、3G、4G等移动通信功能时,移动终端120可以经由移动通信服务商提供的移动通信网络与管理服务器130进行通信;而当移动终端120通过WiFi等无线通信方式进行连接时,则其可以利用热点提供的互联网络与管理服务器130进行通信。无论移动终端120采用哪种网络方式连接管理服务器130,只要移动终端120可以连接到管理服务器130,所有这些网络方式都在本发明的保护范围之内。
[0034]移动终端120 —般为智能终端,其利用现代操作系统进行管理。现代操作系统一般分为内核层和应用层。内核层直接处理和终端硬件之间的交互,并且向应用层提供封装好的交互接口。应用层中的应用可以利用这些接口来与移动终端的各种硬件资源进行交互。现代操作系统还提供了用户管理、权限管理、进程调度、内存管理等功能来保证应用层中的各个应用可以高效地在移动终端上运行。
[0035]为了对移动终端120进行管理,需要在移动终端120上安装专门的应用,例如管理应用400等。管理应用400可以根据从管理服务器130接收的控制策略来对移动终端120进行控制。例如限制在移动终端上的摄像头使用、限制在移动终端上安装应用、针对一些应用进行数据保护等。管理应用400为对移动终端120进行管理所必需的应用,一旦该应用400从移动终端120中卸载了,就无法对该移动终端进行管理。因此,如图1所示,移动终端120中还包括应用防卸载设备300,用于防止应用400未经许可被卸载。下面结合图3的描述中会对移动终端120的结构进行详细描述。
[0036]图2示出了图1所示的应用防卸载系统100中的管理服务器130的结构示意图。如图2所示,管理服务器130包括信息处理器210。信息处理器210可以生成要发送给移动终端的控制信息。控制信息可以包括针对移动终端的各种控制策略、移动终端上受保护的应用列表、以及在移动终端上进行操作所需要的各种密码(如本说明书下面要提及的预设密码)等。控制信息例如具有类文本描述的json格式。
[0037]在实践中,系统管理员在管理终端140上进行操作,从而与信息处理器210进行交互,从而生成针对某个移动终端的控制信息。信息处理器210通常具有web服务器功能,其利用诸如HTTP协议之类的网络协议与管理终端140进行通信,并在管理终端140的屏幕上显示适于生成控制信息的web页面。系统管理员在该web页面上进行操作,相应信息会发送到信息处理器210,从而在信息处理器210上生成控制信息。
[0038]为了生成要在移动终端120中使用的预设密码,信息处理器210中还包括密码生成器215。密码生成器215为每个加入应用防卸载系统的移动终端生成相关联的预设密码。用户只有在移动终端120上输入了该预设密码,才能将移动终端120上安装的特定应用卸载了。
[0039]密码生成器215要为每个移动终端120生成唯一的预设密码,因此,密码生成器215可以基于移动终端120的标识,例如IMEI号或者移动运营商为移动终端分配的手机号码等来,来生成唯一的预设密码。
[0040]在一种实现方式中,预设密码为固定长度的字符串,甚至可以是固定长度的数字串,密码生成器215利用哈希算法,基于管理服务器130的密钥和移动终端的MEI号来生成该字符串或者数字串,并作为与该移动终端相关联的预设密码。
[0041]信息处理器210可以在接收到系统管理员的指令时,指示密码生成器215生成与某个移动终端相关联的预设密码。例如,当信息处理器210接收到系统管理员将某个移动终端120加入到应用防卸载系统100中的指示时,获取该移动终端120的标识如IMEI号,并指示密码生成器215生成与该移动终端相关联的预设密码。
[0042]在信息处理器210生成了控制信息之后,可以存储这些控制信信息。为此,管理服务器130包括存储器220,信息处理器210可以将生成的控制信息与移动终端标识符相关联地存储到存储器220中。
[0043]在密码生成器215为移动终端生成了预设密码之后,可以将该预设密码与移动终端标识符相关联地存储到存储器220中。
[0044]系统管理员还可以为每个移动终端设置获取预设密码的权限。在为移动终端生成预设密码之后,一方面,移动终端中的应用防卸载设备需要内部获取该预设密码以便后续和用户输入的密码进行比较,另一方面,移动终端的用户需要获取该预设密码以便可以在移动终端中输入该密码来卸载移动终端上的应用。为了便于对移动终端120进行管理,需要对移动终端用户获取预设密码的方式进行控制。在系统100中,可以允许一些移动终端的用户直接获取预设密码,此时,可以在移动终端上设置获取密码的接口,用户通过该接口向管理服务器发出请求来获取预设密码。而另一些移动终端的用户不能直接获取预设密码,这些用户需要向系统100的管理员提出请求,由管理员在经过审核之后人工将该预设密码提供给用户。
[0045]因此,系统管理员还可以为每个移动终端设置获取预设密码的权限。并且将该权限同样相关联地存储到存储器220中。
[0046]管理服务器130包括信息分配器230。信息分配器230处理来自移动终端120的访问请求。当访问请求中的标识指示要获取分配给该移动终端120的控制信息时,信息分配器230获取与该访问请求中的移动终端标识相对应的控制信息,并返回给移动终端120。
[0047]信息分配器230包括密码发送器235。当信息分配器230接收到的访问请求为密码请求时,会指示密码发送器235来处理该请求。
[0048]如上所述,来自移动终端的密码请求包括应用防卸载设备为了内部需要而发出的第一密码请求以及移动终端的用户为了获取预设密码而发出的第二密码请求。第一密码请求和第二密码请求均包括移动终端的标识,但是二者会额外包括其他标识以指示该请求是第一密码请求还是第二密码请求。
[0049]在密码发送器235接收到第一密码请求时,不进行与该移动终端相关联的权限判断,而是直接从存储器220中获取与移动终端的标识相对应的预设密码,并且返回给移动终端120。
[0050]可选地,密码发送器235接收到第二密码请求时,会首先获取与该移动终端相关联的权限,并根据该权限来确定是否允许根据该密码请求来返回预设密码。如果权限运行,则从存储器220中获取与移动终端的标识相对应的预设密码并返回给移动终端120 ;否则则拒绝返回该预设密码。
[0051]图3示出了根据本发明一个实施例的应用防卸载设备300的结构示意图。如图3所示,应用防卸载设备300包含在移动终端120中,以便防止移动终端120上的应用400被未经许可地卸载。移动终端120还包括通信接口 500。通信接口 500与管理服务器130进行通信,以便将请求发送给管理服务器130,并且接收从管理服务器130发送过来的控制信息。取决于网络状态和服务器130的配置,通信接口 500可以各种方式和管理服务器130进行通信。例如,通信接口 500可以利用互联网协议与管理服务器130建立连接,甚至管理服务器130可以和移动终端120建立一个长连接,从而通信接口 500可以及时接收从管理服务器130推送过来的控制信息。在另一个实施例中,移动终端120接收到来自其它服务器的通知消息,并在接收到通知消息时由通信接口 500主动发起和管理服务器130的通信,以便接收控制信息。在还有一个实施例中,通信接口 500可以监听移动终端120的短消息,当接收到来自管理服务器130的特定短消息时,可以从短消息中获取控制信息。本发明不受限于通信接口 500和管理服务器130进行通信的具体方式,所有可以与管理服务器130进行通信以便发送请求和获取控制信息的方式都在本发明的保护范围之内。
[0052]应用防卸载设备300包括视图加载器310、卸载处理器320、卸载事件监视器330和第一密码获取器340。
[0053]卸载事件监视器330监视卸载目标应用的操作事件。由于应用防卸载设备300在管理应用400的外部执行并且独立于管理应用400,所以可以对应用防卸载设备300进行配置,以便将某个应用作为卸载事件监视器330的监视目标。根据一种实施方式,将管理应用400配置为应用防卸载设备300的目标应用,因此卸载事件监视器330对卸载管理应用400的事件进行监视。
[0054]如上所述,移动终端120利用现代操作系统来运行各种应用。因此,当要卸载应用时,在操作系统中会广播有关卸载应用的事件。操作系统提供了监视事件的各种方式。例如,在诸如微软视窗操作系统和Iinux操作系统中,可以利用HOOK钩子的方式拦截各种事件来监视事件。另外,在一些操作系统中,卸载应用的操作会产生相关的消息,只要对相应消息进行监视,就可以监视到卸载应用的事件。
[0055]例如,以移动终端120上运行安卓操作系统为例,管理应用400以设备管理器的方式在安卓操作系统上运行,当要卸载管理应用400时,就会在管理应用400被卸载之前,广播一条名称为ACTION_DEVICE_ADMIN_DISABLE_REQUESTED的消息,卸载事件监视器330只要监听到该消息,就确定目前正有用户在移动终端120上执行卸载管理应用400的操作。
[0056]卸载事件监视器330在监测到卸载目标应用的操作时,指示视图加载器310来创建视图。
[0057]视图加载器310创建视图,并使该视图处于移动终端的屏幕最上方。如上所述,移动终端120采用操作系统来管理其软硬件资源。由于现在的操作系统一般都是多任务的操作系统,因此在移动终端120上可以有多个应用在同时执行。这些应用中的一部分可以在前端运行,即可以与用户进行交互;而另外一些应用则在后端运行而不需要和用户进行交互。对于在前端运行的多个应用而言,仅仅当前具有焦点的应用才可以接收到用户经由移动终端接口的输入。因此,用户在实际操作中,会选择要进行交互的应用,将操作焦点放置在该应用的接口上,从而与该应用进行交互。
[0058]在移动终端中,经由操作焦点的应用接口位于移动终端屏幕的最上方,并且在同一时间通常仅仅只有一个应用接口可以获得操作焦点。以安卓操作系统为例,在创建视图时,将视图的属性配置为〈uses-permission android:name=〃android, permission.SYSTEM_ALERT_WINDOW〃/>,就可以将视图呈现到屏幕的最上方。
[0059]视图加载器310创建的视图是一种特殊的应用接口。该接口处于屏幕的最上方,所以自然会获取操作焦点,但是同时,该接口并不向用户提供输入反馈。例如,该视图可以为一张空白的图片,或者该视图可以是向用户提供例如删除管理应用400的后果提示的图
坐/I寸ο
[0060]由于视图加载器310创建的视图获取了操作焦点,因此卸载管理应用400的任务就失去了操作焦点。根据一般应用的设计原理,在卸载应用时,通常需要用户的确认,即与用户的再次交互。由于该卸载任务失去了焦点,因此下载处理自然就处于等待用户输入的状态中。
[0061]可选地,为了防止用户绕过该视图,或者发现是由于视图处于屏幕最上方而导致卸载任务无法继续,可以将视图的尺寸设置为和移动终端的屏幕尺寸相同,从而完全覆盖屏幕,使得用户无法及时发现卸载任务无法继续的原因,并无法绕过该视图。
[0062]卸载事件监视器330在指示视图加载器310来创建视图之后,激活卸载处理器320。
[0063]可选地,卸载事件监视器330可以在视图加载器310来创建视图之后经过预定时间,例如5秒之后来激活卸载处理器320。这样在视图中存在有关卸载管理应用400的提示信息时,用户具有足够的时间来观察到该提示。
[0064]在诸如安卓之类的现代操作系统中,会把诸如管理应用400这样的设备管理应用认为是比较重要的应用,因此会将该应用的卸载过程设计为尽量不受其它应用的干扰。例如在安卓操作系统中,会在设备管理应用卸载处理过程开始时的一段时间内不允许进行应用切换,即卸载处理器320在一段时间内不能被操作系统进行任务调度到最前端,但是视图创建不受此影响。因此,在诸如安卓之类的操作系统中,即使卸载事件监视器330在指示视图加载器310来创建视图之后立即激活卸载处理器320,卸载处理器320也需要在一段时间之后被调度执行。本发明正是观察到视图和一般应用的差别而做出。
[0065]卸载处理器320在被激活之后,即开始执行时,首先清除视图加载器310所创建的视图。由于卸载处理器320和视图加载器310之间的关联性,卸载处理器320会获悉新创建视图的信息,从而可以利用操作系统提供的接口来清除该视图。
[0066]随后,卸载处理器320在移动终端120的屏幕上呈现卸载接口 360。卸载接口 360包括让输入卸载密码的密码输入区。卸载接口 360同样位于移动终端屏幕的最上方,并且可选地,具有和屏幕尺寸一样的大小。这样,在视图被清除以后,还可以继续获取操作焦点,并使卸载管理应用400的任务无法获得操作焦点而处于等待用户输入的状态中。
[0067]卸载处理器320随后等待用户在该密码接口中输入卸载密码,接收该密码,并判断所接收的密码和预设密码是否一致,当这两个密码一致时,去除卸载接口 360,从而在移动终端120的屏幕上露出处于下方的卸载管理应用400的任务接口,用户可以在该接口中进行操作来继续对管理应用400的卸载操作。
[0068]预设密码可以由第一密码获取器340预先获取并存储在移动终端120中。根据一种实施方式,在防卸载设备300第一次部署到移动终端120上时,可以由第一密码获取器340向管理服务器130发送包括该移动终端120的标识(如MEI号、移动运营商分配的手机号码等)在内的第一密码请求,以便获得预设密码并存储在存储器350中。根据另一种实施方式,可以在移动终端120加入到应用防卸载系统100中时,通信接口 500接收到要求从管理服务器130下载预设密码的指示,并将其发送给应用防卸载设备300,从而由第一密码获取器340向管理服务器130发送包括该移动终端120的标识(如MEI号、移动运营商分配的手机号码等)在内的第一密码请求,以便获得预设密码并存储在存储器350中。
[0069]可选地,预设密码并未存储在移动终端120中,而是直接存储在管理服务器130中,每当应用防卸载设备3000需要时,就由第一密码获取器340通过通信接口 500将第一密码请求发送给管理服务器130,以便接收作为响应而从管理服务器130返回的预设密码。
[0070]本发明不受限于预设密码的存储和获取方式,所有能够使得第一密码获取器340可以获得预设密码的方式都在本发明的保护范围之内。
[0071]移动终端120的用户需要事先获悉预设密码,才可以在卸载接口 360中输入正确的密码。在一种实施方式中,用户可以向应用防卸载系统100的管理员请求该密码,从而由管理员从管理服务器130中获取密码并手动提供给用户。在还有一种实施方式中,可以在移动终端120中提供让用户请求获取预设密码的接口。用户通过点击该接口上的按钮发提出请求。此时,应用防卸载设备300中的第二密码获取器370可以接收到用户的请求,并且向管理服务器130发送包括该移动终端120的标识(如MEI号或者手机号码等)在内的第二密码请求。第二密码请求和第一密码请求均包括移动终端的标识,但是二者会通过在请求中添加例如其他标识来进行区别。管理服务器130在接收到第二密码请求时,会首先判断该移动终端120的用户是否具有可以通过移动终端直接获取预设密码的权限。如果移动终端120具有该权限,则管理服务器130会向第二密码获取器370返回预设密码,并且由第二密码获取器370例如以显示在接口上的方式等提供给用户。如果移动终端120不具有该权限,则第二密码获取器370会提示用户相关信息。
[0072]可选地,当卸载处理器320确定经由卸载接口 360接收的密码和预设密码不一致时,可以继续保留卸载接口 360,清除先前在卸载接口 360中输出的错误密码,并使之处于屏幕的最上方,以等待用户的再次密码输入。
[0073]可选地,当用户密码输入错误超过预定次数,例如3次时,可以直接终止对管理应用400的卸载操作,并提示用户。
[0074]另外,应当考虑到的是,虽然根据本发明的应用防卸载设备300通过在移动终端的屏幕最上方叠加视图和卸载接口而使得卸载管理应用400的操作失去了与用户进行交互的机会而中断。但是由于操作系统一般都提供了呈现当前任务列表并在任务之间进行切换的功能,用户可以通过操作系统提供的这个功能而将对管理应用400的卸载操作任务切换到屏幕最上方来继续,并可能导致应用防卸载设备300的功能失效。为此,卸载处理器320在呈现卸载接口的同时,还需要将任务列表中卸载目标应用的任务替换为与呈现卸载接口 360相关的任务,从而反正用户通过任务切换来绕过这个功能。在安卓操作系统中,可以通过将卸载接口的taskAffinity设置为与卸载目标应用的任务来实现。
[0075]根据本发明的应用防卸载设备300,当监控到用户试图卸载目标应用的操作时,就会在移动终端屏幕的最上方呈现创建的视图。由于视图处于屏幕的最上方,获取了移动终端的操作焦点,因此用户对移动终端的所有操作被该视图所获取而不能用于卸载目标应用的操作。随后启动的卸载处理器可以清除视图,并在屏幕上显示卸载接口以覆盖在卸载目标应用的接口之上,用户只有输入了正确的密码,卸载处理器才会消除该卸载接口并呈现在下方的卸载目标应用的接口。这确保了只有在卸载接口上输入了正确的密码,才能够继续卸载目标应用的操作。从而可以有效防止用户的恶意操作。另外,根据本发明的应用防卸载设备300不需要对诸如管理应用400之类的目标应用进行任何修改就可以防止对管理应用400的恶意卸载,因此应用防卸载设备以适于对各种目标应用提供防卸载功能。
[0076]另外,根据本发明的应用防卸载设备300,预设密码在管理服务器130中生成,移动终端120的用户并不能直接获知该密码,只有通过系统管理员来获得或者在权限许可的情况中通过移动终端120来直接获得预设密码,从而限定卸载目标应用400的机会,防止目标应用400未经许可被卸载。
[0077]图4示出了根据本发明一个实施例的应用防卸载方法600的流程图。应用防卸载方法600在图1所示的移动终端120中执行,尤其适于在图3所示的应用防卸载设备300中执行,以防止将诸如图3中所示的管理应用400之类的目标应用从移动终端120中未经许可卸载。
[0078]防卸载方法600始于步骤S610。在步骤S610中,向管理服务器130发送包括移动终端120的标识在内的第一密码请求,以便从管理服务器130获取与该移动终端120相关联的预设密码。步骤S610可以在移动终端120加入应用防卸载系统100时就执行,也可以在应用防卸载方法600需要预设密码时才执行,本发明不受限于步骤S610的执行时机,所有能够使得应用防卸载方法600使用预设密码的方式都在本发明的保护范围之内。
[0079]随后方法600进入步骤S620,在步骤S620中,监视卸载目标应用的操作事件。由于防卸载方法600并不涉及需要监视的目标应用的内部结构并且在目标应用之外执行,所以可以对目标应用进行配置,以便将某个应用作为方法600的监视目标。根据一种实施方式,将管理应用400配置为应用防卸载方法600的目标应用,因此该方法对卸载管理应用400的事件进行监视。
[0080]如上所述,移动终端120利用现代操作系统来运行各种应用。因此,当要卸载应用时,在操作系统中会广播有关卸载应用的事件。操作系统提供了监视事件的各种方式。例如,在诸如微软视窗操作系统和Iinux操作系统中,可以利用HOOK钩子的方式拦截各种事件来监视事件。另外,在一些操作系统中,卸载应用的操作会产生相关的消息,只要对相应消息进行监视,就可以监视到卸载应用的事件。
[0081]例如,以移动终端120上运行安卓操作系统为例,管理应用400以设备管理器的方式在安卓操作系统上运行,当要卸载管理应用400时,就会在管理应用400被卸载之前,广播一条名称为ACTION_DEVICE_ADMIN_DISABLE_REQUESTED的消息。在步骤S620中,只要监听到该消息,就确定目前正有用户在移动终端120上执行卸载管理应用400的操作。
[0082]随后,在步骤S630中,在监测到卸载目标应用的操作时,就创建视图,并使该视图处于移动终端的屏幕最上方。如上所述,移动终端120采用操作系统来管理其软硬件资源。由于现在的操作系统一般都是多任务的操作系统,因此在移动终端120上可以有多个应用在同时执行。这些应用中的一部分可以在前端运行,即可以与用户进行交互;而另外一些应用则在后端运行而不需要和用户进行交互。对于在前端运行的多个应用而言,仅仅当前具有焦点的应用才可以接收到用户经由移动终端接口的输入。因此,用户在实际操作中,会选择要进行交互的应用,将操作焦点放置在该应用的接口上,从而与该应用进行交互。
[0083]在移动终端中,经由操作焦点的应用接口位于移动终端屏幕的最上方,并且在同一时间通常仅仅只有一个应用接口可以获得操作焦点。以安卓操作系统为例,在创建视图时,将视图的属性配置为〈uses-permission android:name=〃android, permission.SYSTEM_ALERT_WINDOW〃/>,就可以将视图呈现到屏幕的最上方。
[0084]在步骤S630中创建的视图是一种特殊的应用接口。该接口处于屏幕的最上方,所以自然会获取操作焦点,但是同时,该接口并不向用户提供输入反馈。例如,该视图可以为一张空白的图片,或者该视图可以是向用户提供例如删除管理应用400的后果提示的图片
坐寸ο
[0085]由于在步骤S630中创建的视图获取了操作焦点,因此卸载管理应用400的任务就失去了操作焦点。根据一般应用的设计原理,在卸载应用时,通常需要用户的确认,即与用户的再次交互。由于该卸载任务失去了焦点,因此下载处理自然就处于等待用户输入的状态中。
[0086]可选地,为了防止用户绕过该视图,或者发现是由于视图处于屏幕最上方而导致卸载任务无法继续,可以将视图的尺寸设置为和移动终端的屏幕尺寸相同,从而完全覆盖屏幕,使得用户无法及时发现卸载任务无法继续的原因,并无法绕过该视图。
[0087]随后,在步骤S640中,清除在步骤S630中创建的视图,并且在移动终端120的屏幕上呈现接收密码输入的卸载接口。
[0088]可选地,步骤S640可以在步骤S630执行之后经过预定时间,例如经过5秒之后才执行。这样在视图中存在有关卸载管理应用400的提示信息时,用户具有足够的时间来观察到该提示。
[0089]在诸如安卓之类的现代操作系统中,会把诸如管理应用400这样的设备管理应用认为是比较重要的应用,因此会将该应用的卸载过程设计为尽量不受其它应用的干扰。例如在安卓操作系统中,会在设备管理应用卸载处理过程开始时的一段时间内不允许进行应用切换,其它应用在一段时间内不能被操作系统进行任务调度到最前端,但是视图创建不受此影响。因此,在诸如安卓之类的操作系统中,即使在防卸载方法600中,在执行步骤S630来创建视图之后立即执行步骤S640,该步骤S640也需要在一段时间之后被调度执行。本发明正是观察到视图和一般应用的差别而做出。
[0090]在步骤S640中,首先清除在步骤S630中创建的视图。由于步骤S640和S630之间的关联性,步骤S640会获悉新创建视图的信息,从而可以利用操作系统提供的接口来清除该视图。
[0091]随后,在步骤S640中,在移动终端120的屏幕上呈现卸载接口 360。卸载接口包括让输入卸载密码的密码输入区。卸载接口 360同样位于移动终端屏幕的最上方,并且可选地,具有和屏幕尺寸一样的大小。这样,在视图被清除以后,还可以继续获取操作焦点,并使卸载管理应用400的任务无法获得操作焦点而处于等待用户输入的状态中。
[0092]随后,在步骤S650中,随后等待用户在密码接口中输入卸载密码,接收该密码,并将接收到的密码与预设密码进行比较。
[0093]当这两个密码一致时,则在步骤S660中,去除卸载接口 360,从而在移动终端120的屏幕上露出处于下方的卸载管理应用400的任务接口,用户可以在该接口中进行操作来继续对管理应用400的卸载操作。
[0094]当在步骤S650中确定这两个密码不一致时,则在步骤S670中,可以继续保留卸载接口 360,清除先前在卸载接口 360中输入的错误密码,并使之处于屏幕的最上方,并返回到步骤S650等待用户的再次密码输入。
[0095]可选地,当用户密码输入错误超过预定次数,例如3次时,可以直接终止对管理应用400的卸载操作,并提示用户。
[0096]另外,应当考虑到的是,虽然根据本发明的应用防卸载方法600通过在移动终端的屏幕最上方叠加视图和卸载接口而使得卸载管理应用400的操作失去了与用户进行交互的机会而中断。但是由于操作系统一般都提供了呈现当前任务列表并在任务之间进行切换的功能,用户可以通过操作系统提供的这个功能而将对管理应用400的卸载操作任务切换到屏幕最上方来继续,并可能导致应用防卸载方法600的功能失效。为此,防卸载方法600还可以包括步骤S635。在该步骤中,将任务列表中卸载目标应用的任务替换为与呈现卸载接口 360相关的任务,从而反正用户通过任务切换来绕过这个功能。在安卓操作系统中,可以通过将卸载接口的taskAff inity设置为与卸载目标应用的任务来实现。
[0097]移动终端120的用户需要事先获悉预设密码,才可以在卸载接口 360中输入正确的密码。在一种实施方式中,用户可以向应用防卸载系统100的管理员请求该密码,从而由管理员从管理服务器130中获取密码并手动提供给用户。在还有一种实施方式中,可以在移动终端120中提供让用户请求获取预设密码的接口。用户通过点击该接口上的按钮发提出请求。为此,应用防卸载方法600还包括步骤S645,在该步骤中向管理服务器130发送包括该移动终端120的标识(如IMEI号或者手机号码等)在内的第二密码请求。第二密码请求和第一密码请求均包括移动终端的标识,但是二者会通过在请求中添加例如其他标识来进行区别。管理服务器130在接收到第二密码请求时,会首先判断该移动终端120的用户是否具有可以通过移动终端直接获取预设密码的权限。如果移动终端120具有该权限,则管理服务器130会向第二密码获取器370返回预设密码,并且在步骤S645中例如以显示在接口上的方式等提供给用户。如果移动终端120不具有该权限,则在会提示用户相关信息。
[0098]根据本发明的应用防卸载方法600,当监控到用户试图卸载目标应用的操作时,就会在移动终端屏幕的最上方呈现创建的视图。由于视图处于屏幕的最上方,获取了移动终端的操作焦点,因此用户对移动终端的所有操作被该视图所获取而不能用于卸载目标应用的操作。随后启动的卸载处理器可以清除视图,并在屏幕上显示卸载接口以覆盖在卸载目标应用的接口之上,用户只有输入了正确的密码,卸载处理器才会消除该卸载接口并呈现在下方的卸载目标应用的接口。这确保了只有在卸载接口上输入了正确的密码,才能够继续卸载目标应用的操作。从而可以有效防止用户的恶意操作。另外,根据本发明的应用防卸载方法600不需要对诸如管理应用400之类的目标应用进行任何修改就可以防止对管理应用400的恶意卸载,因此应用防卸载设备以适于对各种目标应用提供防卸载功能。
[0099]另外,根据本发明的应用防卸载方法,预设密码在管理服务器130中生成,移动终端120的用户并不能直接获知该密码,只有通过系统管理员来获得或者在权限许可的情况中通过移动终端120来直接获得预设密码,从而限定卸载目标应用400的机会,防止目标应用400未经许可被卸载。
[0100]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。[0101]CU、如C9或者10所述的应用防卸载方法,还包括步骤:当经由卸载接口接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。C12、如C9-11中任一个所述的应用防卸载方法,其中所述目标应用为设备管理应用。
[0102]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0103]本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0104]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0105]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0106]此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0107]如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0108]尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本【技术领域】内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本【技术领域】的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
【权利要求】
1.一种应用防卸载设备,驻留在与管理服务器通信连接的移动终端中,以防止将目标应用从移动终端中卸载,该防卸载设备包括: 视图加载器,适于创建视图,并使该视图处于移动终端的屏幕最上方; 卸载处理器,适于清除所述视图,并且在所述屏幕上呈现接收密码输入的卸载接口,当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作; 第一密码获取器,适于向所述管理服务器发送包括所述移动终端的标识在内的第一密码请求,以从所述管理服务器获取与该移动终端相关联的预设密码;以及 卸载事件监视器,适于监视卸载目标应用的操作事件,并且在监测到卸载目标应用的操作时,指示所述视图加载器创建视图,并随后激活所述卸载处理器。
2.如权利要求1所述的应用防卸载设备,还包括第二密码获取器,适于向所述管理服务器发送包括所述移动终端的标识在内的第二密码请求,并接收从所述管理服务器返回的预设密码以便提供给移动终端的用户。
3.如权利要求1或者2所述的应用防卸载设备,其中在所述卸载处理器中,当接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。
4.如权利要求1-3中任一个所述的应用防卸载设备,其中所述卸载处理器还适于将所述移动终端的任务列表中卸载目标应用的任务替换为所述卸载接口。
5.如权利要求1-4中任一个所述的应用防卸载设备,其中所述目标应用为设备管理应用。
6.一种管理服务器,与移动终端通信连接,该管理服务器包括: 密码生成器,适于根据移动终端的标识生成与该移动终端相关联的预设密码; 存储器,适于相关联地存储各个移动终端的标识和预设密码,并且还存储各个移动终端获取预设密码的权限; 密码发送器,适于接收来自移动终端的第一密码请求,从存储器中获取与该移动终端的标识相对应的预设密码,并返回给移动终端。
7.如权利要求6所述的管理服务器,所述密码发送器还适于接收来自移动终端的第二密码请求,当存储器中存储的、该移动终端获取预设密码的权限允许时,从存储器中获取与该移动终端的标识相对应的预设密码并返回给移动终端。
8.—种应用防卸载系统,包括: 如权利要求6或者7所述的管理服务器;以及 一个或者多个移动终端,每个移动终端包括如权利要求1-5中任一个所述的应用防卸载设备。
9.一种应用防卸载方法,适于在与管理服务器通信连接的移动终端中执行,以防止将目标应用从移动终端中卸载,该方法包括步骤: 向所述管理服务器发送包括所述移动终端的标识在内的第一密码请求,以从所述管理服务器获取与该移动终端相关联的预设密码; 监视卸载目标应用的操作事件; 在监测到卸载目标应用的操作时,创建视图,并使该视图处于移动终端的屏幕最上方; 清除所述视图,并且在所述屏幕上呈现接收密码输入的卸载接口 ;以及当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作。
10.如权利要求9所述的应用防卸载方法,还包括步骤: 向所述管理服务器发送包括所述移动终端的标识在内的第二密码请求,并接收从所述管理服务器返回的 预设密码以便提供给移动终端的用户。
【文档编号】G06F21/51GK103810420SQ201410050471
【公开日】2014年5月21日 申请日期:2014年2月13日 优先权日:2014年2月13日
【发明者】刘前伟, 韩炳然, 王二亮 申请人:北京宝利明威软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1