CN103810419B - 一种应用防卸载方法和设备 - Google Patents

一种应用防卸载方法和设备 Download PDF

Info

Publication number
CN103810419B
CN103810419B CN201410050459.2A CN201410050459A CN103810419B CN 103810419 B CN103810419 B CN 103810419B CN 201410050459 A CN201410050459 A CN 201410050459A CN 103810419 B CN103810419 B CN 103810419B
Authority
CN
China
Prior art keywords
unloading
view
mobile terminal
uninstall
intended application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410050459.2A
Other languages
English (en)
Other versions
CN103810419A (zh
Inventor
刘前伟
韩炳然
陈兴盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bao Li Mingwei Software Ltd By Share Ltd
Original Assignee
Beijing Bao Li Mingwei Software Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bao Li Mingwei Software Ltd By Share Ltd filed Critical Beijing Bao Li Mingwei Software Ltd By Share Ltd
Priority to CN201410050459.2A priority Critical patent/CN103810419B/zh
Publication of CN103810419A publication Critical patent/CN103810419A/zh
Application granted granted Critical
Publication of CN103810419B publication Critical patent/CN103810419B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种应用防卸载设备,驻留在移动终端中,以防止将目标应用从移动终端中卸载,该防卸载设备包括:视图加载器,适于创建视图,并使该视图处于移动终端的屏幕最上方;卸载处理器,适于清除该视图,并且在移动终端的屏幕上呈现接收密码输入的卸载接口,当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作;以及卸载事件监视器,适于监视卸载目标应用的操作事件,并且在监测到卸载目标应用的操作时,指示视图加载器创建视图,并随后激活卸载处理器。本发明还公开了一种相应的应用防卸载方法和包括该应用防卸载设备的移动终端。

Description

一种应用防卸载方法和设备
技术领域
本发明涉及移动通信领域,尤其涉及对移动终端上的应用进行管理的应用防卸载设备及相应方法。
背景技术
随着信息技术的高速发展,出现了各种各样具有高处理能力的移动终端。适于在这些移动终端上运行的应用也越来越多地被开发出来,很多企业甚至都开发出了基于移动终端的商业应用。企业内部的员工也开始使用在移动终端上的应用来帮助与企业客户进行沟通和交易等。由于移动终端的便携性,用户很容易将移动终端同时用于个人和商业用途。因此,员工会在移动终端上下载并使用与企业本身业务无关的应用,并且有可能使得移动终端感染病毒并且导致企业的信息泄露。为了便于对移动终端进行管理,出现了对这些移动终端进行统一管理的企业移动终端管理系统(EMM)。
EMM通常包括安全管理、应用管理等。由于移动终端容易丢失和被偷窃,因此在移动终端上的数据处于高风险当中。当通过移动终端来访问企业数据并且在本地存储数据时,企业就失去了对在移动终端上的数据控制,因此需要EMM来对移动终端进行管理,以加强对在移动终端上的数据保护,包括防止对移动终端上数据的未经授权访问,具体措施可以包括密码保护、加密和/或远程擦除技术,即允许管理员删除出现问题的移动终端上的全部数据。
EMM需要在移动终端上安装专门的应用,并利用该应用来设置移动终端的使用策略、保护移动终端上数据的安全以及防止对移动终端的异常使用。例如EMM可能仅仅允许移动终端安装经过认证的应用以及仅仅允许从特定的网站来下载应用等。
由于移动终端采用了现代的操作系统(例如,谷歌公司开发的安卓操作系统等)来管理移动终端。这类操作系统具有权限管理功能。为了能够对移动终端进行全面管理,EMM安装在移动终端上的管理应用通常具有最高的权限。例如,在安卓操作系统中,EMM可以将管理应用构造成设备管理应用,从而具有对移动终端的完全管理权限。
然而,由于移动终端通常由用户日常使用,一些用户同样拥有对该移动终端的最高权限。用户如果从移动终端中删除管理应用,则EMM就无法对移动终端进行远程控制,从而失去了对移动终端的数据保护功能。因此,需要一种可以防止用户未经许可就卸载诸如管理应用之类、用于管理移动终端的重要应用的方案。
发明内容
为此,本发明提供一种新的移动终端上的应用防卸载设备和方法以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种应用防卸载设备。该防卸载设备驻留在移动终端中,以防止未经许可将目标应用从移动终端中卸载。该防卸载设备包括:视图加载器,适于创建视图,并使该视图处于移动终端的屏幕最上方;卸载处理器,适于清除该视图,并且在该屏幕上呈现接收密码输入的卸载接口,当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作;以及卸载事件监视器,适于监视卸载目标应用的操作事件,并且在监测到卸载目标应用的操作时,指示视图加载器创建视图,并激活所述卸载处理器。
可选地,在根据本发明的应用防卸载设备中,卸载事件监视器在指示视图加载器创建视图之后经过预定时间激活卸载处理器。
可选地,在根据本发明的应用防卸载设备中,视图的尺寸和移动终端的屏幕尺寸相同,从而覆盖整个屏幕。
可选地,在根据本发明的应用防卸载设备中,在卸载处理器中,当经由卸载接口接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。
可选地,在根据本发明的应用防卸载设备中,卸载处理器还适于将移动终端的任务列表中卸载目标应用的任务替换为与卸载接口相关的任务。
可选地,在根据本发明的应用防卸载设备中,目标应用为设备管理应用。
根据本发明的另一个方面,提供了一种应用防卸载方法,该方法在移动终端中执行以防止未经许可将目标应用从移动终端中卸载。该方法包括步骤:监视卸载目标应用的操作事件;在监测到卸载目标应用的操作时,创建视图,并使该视图处于移动终端的屏幕最上方;清除所述视图,并且在所述屏幕上呈现接收密码输入的卸载接口;以及当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作。
可选地,在根据本发明的应用防卸载方法中,在创建视图的步骤之后经过预定时间来执行清除视图和呈现卸载接口的步骤。
可选地,在根据本发明的应用防卸载方法中,所创建的视图的尺寸和移动终端的屏幕尺寸相同,从而覆盖整个屏幕。
可选地,根据本发明的应用防卸载方法还包括步骤:当接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。该方法还包括步骤:将移动终端的任务列表中卸载目标应用的任务替换为与卸载接口相关的任务。
可选,在根据本发明的应用防卸载方法中,目标应用为设备管理应用。
根据本发明的还有一个方面,提供了一种移动终端,包括:在移动终端上的目标应用;以及根据本发明的应用防卸载设备,用于防止在移动终端上卸载所述目标应用。
根据本发明的应用防卸载方案中,当监控到用户试图卸载目标应用的操作时,就会在移动终端屏幕的最上方呈现创建的视图。由于视图处于屏幕的最上方,获取了移动终端的操作焦点,因此用户对移动终端的所有操作被该视图所获取而不能用于卸载目标应用的操作。随后启动的卸载处理器可以清除视图,并在屏幕上显示卸载接口以继续覆盖在卸载目标应用的接口之上,用户只有输入了正确的密码,卸载处理器才会消除该卸载接口并呈现在下方的卸载目标应用的接口。由于应用防卸载设备知悉视图,并可以让卸载处理器来清除该视图,而其他应用无从了解该视图,因此为了进行卸载目标应用的操作,就必须由卸载处理器来消除该视图并继续后续操作。这确保了只有在卸载接口上输入了正确的密码,才能够继续卸载目标应用的操作。从而可以有效防止用户未经许可来卸载目标应用。
另外,根据本发明的应用防卸载方案,并不需要对目标应用进行任何修改,从而可以适于对各种目标应用提供防卸载功能。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的移动终端管理系统的示意图;
图2示出了根据本发明一个实施例的应用防卸载设备的结构示意图;以及
图3示出了根据本发明一个实施例的应用防卸载方法的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的移动终端管理系统100的示意图。如图1所示,移动终端管理系统100包括要被管理的一个或者多个移动终端121、122、…、12n(在下文中统称为120),适于由系统管理员使用来对整个移动终端管理系统进行管理的管理终端140,以及提供管理服务的管理服务器130。
取决于移动终端的网络类型,移动终端121、122、…、12n可以经由各种网络与管理服务器130进行通信。例如当移动终端具有GPRS、3G、4G等移动通信功能时,移动终端120可以经由移动通信服务商提供的移动数据通信网络与管理服务器130进行通信;而当移动终端通过WiFi等无线通信方式进行连接时,则其可以利用热点提供的互联网络与管理服务器130进行通信;更甚至而言,管理服务器130可以通过短消息方式和移动终端120进行通信。无论移动终端120采用哪种网络方式连接管理服务器130,只要移动终端120可以连接到服务器130,所有这些网络方式都在本发明的保护范围之内。
如图1所示,管理服务器130可以主动或者应来自移动终端的请求而将控制信息发送给移动终端120。控制信息可以包括针对移动终端的各种控制策略、移动终端上受保护的应用列表、以及在移动终端上进行操作所需要的各种密码(如本说明书下面要提及的预设密码)等。
根据本发明的一个实施例,控制信息可以基于系统管理员的操作而在管理服务器130上生成。例如,系统管理员在管理终端140上进行操作,从而与管理服务器130进行交互,从而生成针对某个移动终端的控制信息。管理服务器130通常包括web服务器,利用诸如HTTP协议之类的网络协议与管理终端140进行通信,并在管理终端140的屏幕上显示适于生成控制信息的web页面,系统管理员在该web页面上进行操作,相应信息会发送到管理服务器130,从而在管理服务器130上生成控制信息。
根据本发明的另一个实施例,控制信息还可以由管理服务器130在对移动终端进行管理的过程中自动生成。例如当新的移动终端200加入到移动终端管理系统100中时,管理服务器130可以根据该移动终端200的标识(例如IMEI号或者移动运营商为移动终端200分配的手机号码等)而自动生成针对该移动终端的预设密码。当用户要在移动终端200上卸载某些特定应用时,就需要输入该预设密码。
可选地,控制信息可以具有类文本描述的json格式。
移动终端120一般为智能终端,其利用现代操作系统进行管理。现代操作系统一般分为内核层和应用层。内核层直接处理和终端硬件之间的交互,并且向应用层提供封装好的交互接口。应用层中的应用可以利用这些接口来与移动终端的各种硬件资源进行交互。现代操作系统还提供了用户管理、权限管理、进程调度、内存管理等功能来保证应用层中的各个应用可以高效地在移动终端上运行。
为了对移动终端120进行管理,需要在移动终端120上安装专门的应用,例如管理应用300等。管理应用300可以根据从管理服务器130接收的控制策略来对移动终端120进行控制。例如限制在移动终端上的摄像头使用、限制在移动终端上安装应用、针对一些应用进行数据保护等。管理应用300为对移动终端120进行管理所必需的应用,一旦该应用300从移动终端120中卸载了,就无法对该移动终端120进行管理。因此,如图1所示,移动终端120中还包括应用防卸载设备200,用于防止应用300未经许可被卸载。
图2示出了根据本发明一个实施例的应用防卸载设备200的结构示意图。如图2所示,应用防卸载设备200包含在移动终端120中,以便防止移动终端120上的应用300未经许可被卸载。移动终端120还包括通信接口400。通信接口400与管理服务器130进行通信,以便将请求发送给管理服务器130,并且接收从管理服务器130发送过来的控制信息。取决于网络状态和服务器130的配置,通信接口400可以各种方式和管理服务器130进行通信。例如,通信接口400可以利用互联网协议与管理服务器130建立连接,甚至管理服务器130可以和移动终端120建立一个长连接,从而通信接口400可以及时接收从管理服务器130推送过来的控制信息。在另一个实施例中,移动终端120接收到来自其它服务器的通知消息,并在接收到通知消息时由通信接口400主动发起和管理服务器130的通信,以便接收控制信息。在还有一个实施例中,通信接口400可以监听移动终端120的短消息,当接收到来自管理服务器130的特定短消息时,可以从短消息中获取控制信息。本发明不受限于通信接口400和管理服务器130进行通信的具体方式,所有可以与管理服务器130进行通信以便发送请求和获取控制信息的方式都在本发明的保护范围之内。
应用防卸载设备200包括视图加载器210、卸载处理器220和卸载事件监视器230。
卸载事件监视器230监视卸载目标应用的操作事件。由于应用防卸载设备200在管理应用300的外部执行并且独立于管理应用300,所以可以对应用防卸载设备200进行配置,以便将某个应用作为卸载事件监视器230的监视目标。根据一种实施方式,将管理应用300配置为应用防卸载设备200的目标应用,因此卸载事件监视器230对卸载管理应用300的事件进行监视。
如上所述,移动终端120利用现代操作系统来运行各种应用。因此,当要卸载应用时,在操作系统中会广播有关卸载应用的事件。操作系统提供了监视事件的各种方式。例如,在诸如微软视窗操作系统和linux操作系统中,可以利用HOOK钩子的方式拦截各种事件来监视事件。另外,在一些操作系统中,卸载应用的操作会产生相关的消息,只要对相应消息进行监视,就可以监视到卸载应用的事件。
例如,以移动终端120上运行安卓操作系统为例,管理应用300以设备管理器的方式在安卓操作系统上运行,当要卸载管理应用300时,就会在管理应用300被卸载之前,广播一条名称为ACTION_DEVICE_ADMIN_DISABLE_REQUESTED的消息,卸载事件监视器230只要监听到该消息,就确定目前正在移动终端120上执行卸载管理应用300的操作。
卸载事件监视器230在监测到卸载目标应用的操作时,指示视图加载器210来创建视图。
视图加载器210创建视图,并使该视图处于移动终端的屏幕最上方。如上所述,移动终端120采用操作系统来管理其软硬件资源。由于现在的操作系统一般都是多任务的操作系统,因此在移动终端120上可以有多个应用在同时执行。这些应用中的一部分可以在前端运行,即可以与用户进行交互;而另外一些应用则在后端运行而不需要和用户进行交互。对于在前端运行的多个应用而言,仅仅当前具有焦点的应用才可以接收到用户经由移动终端接口的输入。因此,用户在实际操作中,会选择要进行交互的应用,将操作焦点放置在该应用的接口上,从而与该应用进行交互。
在移动终端中,具有操作焦点的应用接口位于移动终端屏幕的最上方,并且在同一时间通常仅仅只有一个应用接口可以获得操作焦点。以安卓操作系统为例,在创建视图时,将视图的属性配置为<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>,就可以将视图呈现到屏幕的最上方。
视图加载器210创建的视图是一种特殊的应用接口。该接口处于屏幕的最上方,所以自然会获取操作焦点,但是同时,该接口并不向用户提供输入反馈。例如,该视图可以为一张空白的图片,或者该视图可以是向用户提供例如删除管理应用300的后果提示的图片等。
由于视图加载器210创建的视图获取了操作焦点,因此卸载管理应用300的任务就失去了操作焦点。根据一般应用的设计原理,在卸载应用时,通常需要用户的确认,即与用户的再次交互。由于该卸载任务失去了焦点,因此卸载处理自然就处于等待用户输入的状态中。
可选地,为了防止用户绕过该视图,或者发现是由于视图处于屏幕最上方而导致卸载任务无法继续,可以将视图的尺寸设置为和移动终端的屏幕尺寸相同,从而完全覆盖屏幕,使得用户无法发现卸载任务无法继续的原因,并无法绕过该视图。
卸载事件监视器230在指示视图加载器210来创建视图之后,激活卸载处理器220。
可选地,卸载事件监视器230可以在视图加载器210创建视图之后经过预定时间,例如5秒之后激活卸载处理器220。这样在视图中存在有关卸载管理应用300的提示信息时,用户具有足够的时间来观察到该提示。
在诸如安卓之类的现代操作系统中,会把诸如管理应用300这样的设备管理应用认为是比较重要的应用,因此会将该应用的卸载过程设计为尽量不受其它应用的干扰。例如在安卓操作系统中,会在设备管理应用卸载处理过程开始时的一段时间内不允许进行应用切换,即卸载处理器220在一段时间内不能被操作系统进行任务调度到最前端,但是视图创建不受此影响。因此,在诸如安卓之类的操作系统中,即使卸载事件监视器230在指示视图加载器210来创建视图之后立即激活卸载处理器220,卸载处理器220也需要在一段时间之后被调度执行。本发明正是观察到视图和一般应用的差别而做出。
卸载处理器220在被激活之后,即开始执行时,首先清除视图加载器210所创建的视图。由于卸载处理器220和视图加载器210之间的关联性,卸载处理器220会获悉新创建视图的信息,从而可以利用操作系统提供的接口来清除该视图。
随后,卸载处理器220在移动终端120的屏幕上呈现卸载接口250。卸载接口包括让输入卸载密码的密码输入区。卸载接口250同样位于移动终端屏幕的最上方,并且可选地,具有和屏幕尺寸一样的大小。这样,在视图被清除以后,还可以继续获取操作焦点,并使卸载管理应用300的任务无法获得操作焦点而继续处于等待用户输入的状态中。
卸载处理器220随后等待用户在该密码接口中输入卸载密码,接收该密码,并判断所接收的密码和预设密码是否一致,当这两个密码一致时,去除卸载接口250,从而在移动终端120的屏幕上露出处于下方的卸载管理应用300的任务接口,用户可以在该接口中进行操作来继续对管理应用300的卸载操作。
预设密码可以预先存储在移动终端120中,为此,防卸载设备200可以包括存储器240。存储器240中存储了预设密码。根据一种实施方式,在防卸载设备200第一次部署到移动终端120上时,将预设密码存储到存储器240中。根据另一种实施方式,可以在移动终端120加入到移动管理系统100中时,从管理服务器130以控制信息的方式发送给移动终端120、并由应用防卸载设备200经由通信接口400来接收并存储到存储器240中。
可选地,预设密码并未存储在移动终端120中,而是直接存储在管理服务器130中,每当移动终端120需要时,通过通信接口400将密码请求发送给管理服务器130,以便接收作为响应而从管理服务器130返回的预设密码。
本发明不受限于预设密码的存储和获取方式,所有能够使得防卸载设备200可以获得预设密码的方式都在本发明的保护范围之内。
可选地,当卸载处理器220确定经由卸载接口250接收的密码和预设密码不一致时,可以继续保留卸载接口250,清除先前在卸载接口250中输出的错误密码,并使之处于屏幕的最上方,以等待用户的再次密码输入。
可选地,当用户密码输入错误超过预定次数,例如3次时,可以直接终止对管理应用300的卸载操作,并提示用户。
另外,应当考虑到的是,虽然根据本发明的应用防卸载设备200通过在移动终端的屏幕最上方叠加视图和卸载接口而使得卸载管理应用300的操作失去了与用户进行交互的机会而中断。但是由于操作系统一般都提供了呈现当前任务列表并在任务之间进行切换的功能,用户可以通过操作系统提供的这个功能而将对管理应用300的卸载操作任务切换到屏幕最上方来继续,并可能导致应用防卸载设备200的功能失效。为此,卸载处理器220在呈现卸载接口的同时,还需要将任务列表中卸载目标应用的任务替换为与呈现卸载接口250相关的任务,从而防止用户通过任务切换来绕过这个功能。在安卓操作系统中,可以通过将卸载接口250的taskAffinity设置为与卸载目标应用的任务来实现。
根据本发明的应用防卸载设备200,当监控到用户试图卸载目标应用的操作时,就会在移动终端屏幕的最上方呈现创建的视图。由于视图处于屏幕的最上方,获取了移动终端的操作焦点,因此用户对移动终端的所有操作被该视图所获取而不能用于卸载目标应用的操作。随后启动的卸载处理器可以清除视图,并在屏幕上显示卸载接口以覆盖在卸载目标应用的接口之上,用户只有输入了正确的密码,卸载处理器才会消除该卸载接口并呈现在下方的卸载目标应用的接口。这确保了只有在卸载接口上输入了正确的密码,才能够继续卸载目标应用的操作。从而可以有效防止用户的恶意操作。另外,根据本发明的应用防卸载设备200不需要对诸如管理应用300之类的目标应用进行任何修改就可以防止未经许可卸载管理应用300,因此应用防卸载设备以适于对各种目标应用提供防卸载功能。
图3示出了根据本发明一个实施例的应用防卸载方法500的流程图。应用防卸载方法500在图1所示的移动终端120中执行,尤其适于在图2所示的应用防卸载设备200中执行,以防止未经许可将诸如图2中所示的管理应用300之类的目标应用从移动终端120中卸载。
防卸载方法500始于步骤S510。在步骤S510中,监视卸载目标应用的操作事件。由于防卸载方法500并不涉及需要监视的目标应用的内部结构并且在目标应用之外执行,所以可以对目标应用进行配置,以便将某个应用作为卸载事件监视器230的监视目标。根据一种实施方式,将管理应用300配置为应用防卸载方法500的目标应用,因此该方法对卸载管理应用300的事件进行监视。
如上所述,移动终端120利用现代操作系统来运行各种应用。因此,当要卸载应用时,在操作系统中会广播有关卸载应用的事件。操作系统提供了监视事件的各种方式。例如,在诸如微软视窗操作系统和linux操作系统中,可以利用HOOK钩子的方式拦截各种事件来监视事件。另外,在一些操作系统中,卸载应用的操作会产生相关的消息,只要对相应消息进行监视,就可以监视到卸载应用的事件。
例如,以移动终端120上运行安卓操作系统为例,管理应用300以设备管理器的方式在安卓操作系统上运行,当要卸载管理应用300时,就会在管理应用300被卸载之前,广播一条名称为ACTION_DEVICE_ADMIN_DISABLE_REQUESTED的消息。在步骤S510中,只要监听到该消息,就确定目前正有用户在移动终端120上执行卸载管理应用300的操作。
随后,在步骤S520中,在监测到卸载目标应用的操作时,就创建视图,并使该视图处于移动终端的屏幕最上方。如上所述,移动终端120采用操作系统来管理其软硬件资源。由于现在的操作系统一般都是多任务的操作系统,因此在移动终端120上可以有多个应用在同时执行。这些应用中的一部分可以在前端运行,即可以与用户进行交互;而另外一些应用则在后端运行而不需要和用户进行交互。对于在前端运行的多个应用而言,仅仅当前具有焦点的应用才可以接收到用户经由移动终端接口的输入。因此,用户在实际操作中,会选择要进行交互的应用,将操作焦点放置在该应用的接口上,从而与该应用进行交互。
在移动终端中,具有操作焦点的应用接口位于移动终端屏幕的最上方,并且在同一时间通常仅仅只有一个应用接口可以获得操作焦点。以安卓操作系统为例,在创建视图时,将视图的属性配置为<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>,就可以将视图呈现到屏幕的最上方。
在步骤S520中创建的视图是一种特殊的应用接口。该接口处于屏幕的最上方,所以自然会获取操作焦点,但是同时,该接口并不向用户提供输入反馈。例如,该视图可以为一张空白的图片,或者该视图可以是向用户提供例如删除管理应用300的后果提示的图片等。
由于在步骤S520中创建的视图获取了操作焦点,因此卸载管理应用300的任务就失去了操作焦点。根据一般应用的设计原理,在卸载应用时,通常需要用户的确认,即与用户的再次交互。由于该卸载任务失去了焦点,因此卸载处理自然就处于等待用户输入的状态中。
可选地,为了防止用户绕过该视图,或者发现是由于视图处于屏幕最上方而导致卸载任务无法继续,可以将视图的尺寸设置为和移动终端的屏幕尺寸相同,从而完全覆盖屏幕,使得用户无法发现卸载任务无法继续的原因,并无法绕过该视图。
随后,在步骤S530中,清除在步骤S520中创建的视图,并且在移动终端120的屏幕上呈现接收密码输入的卸载接口。
可选地,步骤S530可以在步骤S520执行之后经过预定时间,例如经过5秒之后才执行。这样在视图中存在有关卸载管理应用300的提示信息时,用户具有足够的时间来观察到该提示。
在诸如安卓之类的现代操作系统中,会把诸如管理应用300这样的设备管理应用认为是比较重要的应用,因此会将该应用的卸载过程设计为尽量不受其它应用的干扰。例如在安卓操作系统中,会在设备管理应用卸载处理过程开始时的一段时间内不允许进行应用切换,其它应用在一段时间内不能被操作系统进行任务调度到最前端,但是视图创建不受此影响。因此,在诸如安卓之类的操作系统中,即使在防卸载方法500中,在执行步骤S520来创建视图之后立即执行步骤S530,该步骤S530也需要在一段时间之后被调度执行。本发明正是观察到视图和一般应用的差别而做出。
在步骤S530中,清除视图加载器210所创建的视图。由于步骤S520和步骤S530之间的关联性,卸载处理器220会获悉新创建视图的信息,从而可以利用操作系统提供的接口来清除该视图。
随后,在步骤S530中,在移动终端120的屏幕上呈现卸载接口250。卸载接口包括让输入卸载密码的密码输入区。卸载接口250同样位于移动终端屏幕的最上方,并且可选地,具有和屏幕尺寸一样的大小。这样,在视图被清除以后,还可以继续获取操作焦点,并使卸载管理应用300的任务无法获得操作焦点而处于等待用户输入的状态中。
随后,在步骤S540中,随后等待用户在密码接口中输入卸载密码,接收该密码,并将接收到的密码与预设密码进行比较。
当这两个密码一致时,则在步骤S550中,去除卸载接口250,从而在移动终端120的屏幕上露出处于下方的卸载管理应用300的任务接口,用户可以在该接口中进行操作来继续对管理应用300的卸载操作。
当在步骤S540中确定这两个密码不一致时,则在步骤S560中,可以继续保留卸载接口250,清除先前在卸载接口250中输入的错误密码,并使之处于屏幕的最上方,并返回到步骤S540等待用户的再次密码输入。
可选地,当用户密码输入错误超过预定次数,例如3次时,可以直接终止对管理应用300的卸载操作,并提示用户。
预设密码可以预先存储在移动终端120中。预设密码也可以未存储在移动终端120中,而是直接存储在管理服务器130中,每当移动终端120需要时,通过通信接口400将密码请求发送给管理服务器130,以便接收作为响应而从管理服务器130返回的预设密码。
本发明不受限于预设密码的存储和获取方式,所有能够使得移动终端120可以获得预设密码的方式都在本发明的保护范围之内
另外,应当考虑到的是,虽然根据本发明的应用防卸载方法500通过在移动终端的屏幕最上方叠加视图和卸载接口而使得卸载管理应用300的操作失去了与用户进行交互的机会而中断。但是由于操作系统一般都提供了呈现当前任务列表并在任务之间进行切换的功能,用户可以通过操作系统提供的这个功能而将对管理应用300的卸载操作任务切换到屏幕最上方来继续,并可能导致应用防卸载方法500的功能失效。为此,防卸载方法500还可以包括步骤S525。在该步骤S525中,将任务列表中卸载目标应用的任务替换为与呈现卸载接口250相关的任务,从而防止用户通过任务切换来绕过这个功能。在安卓操作系统中,可以通过将卸载接口的taskAffinity设置为与卸载目标应用的任务来实现。
根据本发明的应用防卸载方法500,当监控到用户试图卸载目标应用的操作时,就会在移动终端屏幕的最上方呈现创建的视图。由于视图处于屏幕的最上方,获取了移动终端的操作焦点,因此用户对移动终端的所有操作被该视图所获取而不能用于卸载目标应用的操作。随后启动的卸载处理器可以清除视图,并在屏幕上显示卸载接口以覆盖在卸载目标应用的接口之上,用户只有输入了正确的密码,卸载处理器才会消除该卸载接口并呈现在下方的卸载目标应用的接口。这确保了只有在卸载接口上输入了正确的密码,才能够继续卸载目标应用的操作。从而可以有效防止用户未经许可的操作。另外,根据本发明的应用防卸载方法500不需要对诸如管理应用300之类的目标应用进行任何修改就可以防止未经许可卸载管理应用300,因此应用防卸载设备以适于对各种目标应用提供防卸载功能。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
C10、如C7-9中任一个所述的应用防卸载方法,还包括步骤:当接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。C11、如C7-10中任一个所述的应用防卸载方法,还包括步骤:将所述移动终端的任务列表中卸载目标应用的任务替换为与呈现所述卸载接口相关的任务。C12、如C7-11中任一个所述的应用防卸载方法,其中所述目标应用为设备管理应用。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (13)

1.一种应用防卸载设备,驻留在移动终端中,以防止将目标应用从移动终端中卸载,该防卸载设备包括:
视图加载器,适于创建视图,并使该视图处于移动终端的屏幕最上方;
卸载处理器,适于清除所述视图,并且在所述屏幕上呈现接收密码输入的卸载接口,当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作;以及
卸载事件监视器,适于监视卸载目标应用的操作事件,并且在监测到卸载目标应用的操作时,指示所述视图加载器创建视图,并随后激活所述卸载处理器。
2.如权利要求1所述的应用防卸载设备,其中所述卸载事件监视器在指示所述视图加载器创建视图之后经过预定时间激活所述卸载处理器。
3.如权利要求1或者2所述的应用防卸载设备,其中所述视图的尺寸和所述移动终端的屏幕尺寸相同。
4.如权利要求1或2所述的应用防卸载设备,其中在所述卸载处理器中,当接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。
5.如权利要求1或2所述的应用防卸载设备,其中所述卸载处理器还适于将所述移动终端的任务列表中卸载目标应用的任务替换为与所述卸载接口相关的任务。
6.如权利要求1或2所述的应用防卸载设备,其中所述目标应用为设备管理应用。
7.一种应用防卸载方法,适于在移动终端中执行,以防止将目标应用从移动终端中卸载,该方法包括步骤:
监视卸载目标应用的操作事件;
在监测到卸载目标应用的操作时,创建视图,并使该视图处于移动终端的屏幕最上方;
清除所述视图,并且在所述屏幕上呈现接收密码输入的卸载接口;以及
当接收到的密码与预设密码匹配时,去除该卸载接口,并继续该目标应用的卸载操作。
8.如权利要求7所述的应用防卸载方法,其中在所述创建视图的步骤之后经过预定时间执行所述清除视图和呈现卸载接口的步骤。
9.如权利要求7或者8所述的应用防卸载方法,其中所述视图的尺寸和所述移动终端的屏幕尺寸相同。
10.如权利要求7或8所述的应用防卸载方法,还包括步骤:当接收到的密码与预设密码不匹配时,停止对该目标应用的卸载操作。
11.如权利要求7或8所述的应用防卸载方法,还包括步骤:将所述移动终端的任务列表中卸载目标应用的任务替换为与呈现所述卸载接口相关的任务。
12.如权利要求7或8所述的应用防卸载方法,其中所述目标应用为设备管理应用。
13.一种移动终端,包括:
在移动终端上的目标应用;以及
如权利要求1-6中任一个所述的应用防卸载设备,用于防止在移动终端上卸载所述目标应用。
CN201410050459.2A 2014-02-13 2014-02-13 一种应用防卸载方法和设备 Expired - Fee Related CN103810419B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410050459.2A CN103810419B (zh) 2014-02-13 2014-02-13 一种应用防卸载方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410050459.2A CN103810419B (zh) 2014-02-13 2014-02-13 一种应用防卸载方法和设备

Publications (2)

Publication Number Publication Date
CN103810419A CN103810419A (zh) 2014-05-21
CN103810419B true CN103810419B (zh) 2018-01-05

Family

ID=50707175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410050459.2A Expired - Fee Related CN103810419B (zh) 2014-02-13 2014-02-13 一种应用防卸载方法和设备

Country Status (1)

Country Link
CN (1) CN103810419B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984576A (zh) * 2014-05-29 2014-08-13 北京网秦天下科技有限公司 用于防止应用卸载的方法和终端
CN104123165B (zh) * 2014-07-31 2017-12-01 北京金山安全软件有限公司 应用程序的卸载方法、装置及移动终端
CN105653316B (zh) * 2015-12-24 2019-02-12 小米科技有限责任公司 监听软件被卸载的方法及装置
CN107958151A (zh) * 2016-10-18 2018-04-24 深圳鼎智通讯股份有限公司 指纹验证安装与卸载应用的系统及其使用方法
CN108769366B (zh) * 2018-04-18 2021-08-17 Oppo广东移动通信有限公司 权限管理方法、装置、移动终端及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414341A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 一种软件自我保护的方法
CN102411684A (zh) * 2011-09-26 2012-04-11 奇智软件(北京)有限公司 一种数据保护方法及装置
CN102523593A (zh) * 2011-12-21 2012-06-27 成都三零瑞通移动通信有限公司 一种防自身程序被卸载的方法
CN102722663A (zh) * 2012-05-16 2012-10-10 广东欧珀移动通信有限公司 一种手持智能设备数据安全保护方法
CN102880817A (zh) * 2012-08-20 2013-01-16 福建升腾资讯有限公司 计算机软件产品运行保护方法
CN103034806A (zh) * 2011-09-30 2013-04-10 腾讯科技(深圳)有限公司 处理操作的方法和终端
CN103530550A (zh) * 2013-09-23 2014-01-22 北京奇虎科技有限公司 移动通讯终端上的文件/应用程序处理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414341A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 一种软件自我保护的方法
CN102411684A (zh) * 2011-09-26 2012-04-11 奇智软件(北京)有限公司 一种数据保护方法及装置
CN103034806A (zh) * 2011-09-30 2013-04-10 腾讯科技(深圳)有限公司 处理操作的方法和终端
CN102523593A (zh) * 2011-12-21 2012-06-27 成都三零瑞通移动通信有限公司 一种防自身程序被卸载的方法
CN102722663A (zh) * 2012-05-16 2012-10-10 广东欧珀移动通信有限公司 一种手持智能设备数据安全保护方法
CN102880817A (zh) * 2012-08-20 2013-01-16 福建升腾资讯有限公司 计算机软件产品运行保护方法
CN103530550A (zh) * 2013-09-23 2014-01-22 北京奇虎科技有限公司 移动通讯终端上的文件/应用程序处理方法及装置

Also Published As

Publication number Publication date
CN103810419A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
US10469534B2 (en) Secure execution of enterprise applications on mobile devices
US10848520B2 (en) Managing access to resources
EP3053052B1 (en) Managing a number of secondary clouds by a master cloud service manager
CN103810419B (zh) 一种应用防卸载方法和设备
US11108886B2 (en) Remote provisioning and enrollment of enterprise devices with on-premises domain controllers
CN103810420B (zh) 一种应用防卸载方法和系统
EP3511822A1 (en) Method and system for managing access to artifacts in a cloud computing environment
KR101728899B1 (ko) 관리 브라우저 제공
CN105308923B (zh) 对具有多操作模式的应用的数据管理
EP2898652B1 (en) Mobile device management and security
US11108628B2 (en) Linking multiple enrollments on a client device
JP5106625B2 (ja) ファイアウォールを構成する方法、システム、およびコンピュータ・プログラム
CN106031128B (zh) 移动设备管理的方法和装置
JP2008192130A (ja) 電子デバイスのためのリモートファームウェア管理
JP2019514090A (ja) ユーザアカウントと企業ワークスペースとの関連付け
CN106254312B (zh) 一种通过虚拟机异构实现服务器防攻击的方法及装置
US20020078200A1 (en) Printer configuration service through a firewall
CN103778379B (zh) 管理设备上的应用执行和数据访问
US20150296051A1 (en) Methods, remote access systems, client computing devices, and server devices for use in remote access systems
US20140181176A1 (en) Graphical user interface for hadoop system administration
KR101652194B1 (ko) 클라이언트 단말을 이용한 원격 가상 머신의 제어 시스템 및 방법
WO2014079489A1 (en) Methods and systems for managing access to a location indicated by a link in a remote access system
US20220269524A1 (en) Method and apparatus for secure data access during machine learning training
KR20220023963A (ko) 사용자 장치의 원격 관리
CN112015524A (zh) 工作流部署方法、设备、系统及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100085, Beijing, Haidian District on the road No. 2 on the ground to the international science and Technology Park 2, building 11, C

Applicant after: Beijing Bao Li Mingwei software Limited by Share Ltd

Address before: 100085, Beijing, Haidian District on the road No. 2 on the ground to the international science and Technology Park 2, building 11, C

Applicant before: BEIJING POLY MIWIN SOFTWARE TECHNOLOGY CO., LTD.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180105

Termination date: 20190213

CF01 Termination of patent right due to non-payment of annual fee