一种禁止应用自启动的方法及装置制造方法

文档序号:6641007阅读:136来源:国知局
一种禁止应用自启动的方法及装置制造方法
【专利摘要】本发明提供一种禁止应用自启动的方法,包括如下步骤:监控本机应用程序的启动行为;拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名;当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。相应的,本发明还提供一种禁止应用自启动的装置。本发明可以禁止应用的自启动行为以及顽固自启动行为,从而减少移动终端的耗电,同时提高运行速度。
【专利说明】一种禁止应用自启动的方法及装置

【技术领域】
[0001] 本发明涉及移动设备的应用自启动控制技术,具体而言,本发明涉及一种禁止应 用自启动的方法及装置。

【背景技术】
[0002] 应用自启动,是指Android系统上应用在非用户主动运行的情况下自行启动的行 为。现在很多厂商为谋取APP商业化让其APP时刻在它需要自启的时刻自启,以谋求自己 的利益。
[0003] 自启分为常规自启和顽固自启,当用户通过自启管理软件关闭顽固自启应用时, 顽固自启应用会立刻想办法进行自我修复,虽然目前有许多自启管理的安全软件,但仅能 禁止通过broadcast receiver方式自启动的应用,不能禁止service、provider的自启动 以及顽固自启动的应用,而这些应用过多会造成用户的手机耗电快,卡顿,频繁弹窗广告等 现象。本发明提供禁止自启的方案,不仅可以禁止通过broadcast receiver方式的自启动 应用,还能够有效精确地禁止service、provider的自启动以及顽固自启动的应用。


【发明内容】

[0004] 本发明的目的旨在解决应用自启动的问题,特别是解决应用的顽固自启动行为。
[0005] 本发明提供一种禁止自启动的方法,包括以下步骤:
[0006] 监控本机应用程序的启动行为;
[0007] 拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包 名;
[0008] 当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。
[0009] 具体的,所述数据记录以数据库的形式予以表征,该数据库具有应用包名与是否 允许该应用包名所对应的应用程序启动的状态项之间的映射关系。
[0010] 较佳的,所述数据记录既包含允许自启动的应用的记录,又包含禁止自启动的应 用的记录;
[0011] 或者,仅仅包含禁止自启动的应用的记录。
[0012] 进一步的,所述数据记录还包括用于记录反复自启动应用信息的顽固自启日志。
[0013] 较佳的,所述方法还提供一个用户界面,用于显示顽固自启日志记录的信息。
[0014] 进一步的,所述终止应用程序启动的方法还包括强制切断顽固自启动应用的被唤 醒路径。
[0015] -种禁止应用自启动的装置,包括:
[0016] 监控单元:用于监控机型应用程序的启动行为;
[0017] 拦截单元:拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取 该应用的包名;
[0018] 禁止单元:当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动 行为。
[0019] 具体的,所述数据记录以数据库的形式予以表征,该数据库具有应用包名与是否 允许该应用包名所对应的应用程序启动的状态项之间的映射关系。
[0020] 进一步的,所述装置还包括一个顽固自启日志生成单元,生成记录反复自启动应 用信息的日志。
[0021] 进一步的,所述装置还包括唤醒路径切断单元,用于切断顽固自启动应用的被唤 醒路径。
[0022] 相比现有技术,本发明提供的方案有以下优点:
[0023] 1、本发明提供一种禁止应用自启动方法,通过拦截应用启动时的 ActivityManagerService调用的成员函数startProcessLocked(),获取该应用的包名、 pid、Uid等信息,通过应用包名确定用户禁止自启动的应用,终止所述应用的进程,实现禁 止自启动。
[0024] 2、本发明对反复自启的应用记录一个顽固自启日志,通过切断所述顽固自启动应 用被其友盟应用程序唤醒的路径,可以实现精确禁止被唤醒的应用自启动行为。
[0025] 3、本发明提供一个数据记录,以数据库的形式予以表征,该数据库具有应用包名 与是否允许该应用包名所对应的应用程序启动的状态项之间的映射关系,可以通过该映射 关系确定被用户禁止的应用,与拦截到的应用包名对比,快速确定拦截到的应用是否为被 禁止的应用。
[0026] 4、本发明生成用于记录反复自启动的应用信息的顽固自启日志,并将该顽固自启 日志以界面的形式呈现给用户,由用户参照列出的应用信息选择禁止的应用,展示给用户 更加友好交互界面,实现最优化禁止自启动。
[0027] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变 得明显,或通过本发明的实践了解到。

【专利附图】

【附图说明】
[0028] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解,其中:
[0029] 图1为一种禁止应用自启动的方法流程图
[0030] 图2为一种禁止应用自启动的装置原理框图

【具体实施方式】
[0031] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0032] 本【技术领域】技术人员可以理解,除非特意声明,这里使用的单数形式"一"、"一 个"、"所述"和"该"也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措 辞"包括"是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加 一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元 件被"连接"或"耦接"到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在 中间元件。此外,这里使用的"连接"或"耦接"可以包括无线连接或无线耦接。这里使用 的措辞"和/或"包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0033] 本【技术领域】技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术 术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应 该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中 的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含 义来解释。
[0034] 本【技术领域】技术人员可以理解,这里所使用的"终端"、"终端设备"既包括无线信 号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件 的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备 可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示 器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可 以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个 人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、 日历和/或GPS (Global Positioning System,全球定位系统)接收器;常规膝上型和/或 掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算 机或其他设备。这里所使用的"终端"、"终端设备"可以是便携式、可运输、安装在交通工具 (航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式, 运行在地球和/或空间的任何其他位置运行。这里所使用的"终端"、"终端设备"还可以是 通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device, 移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒 等设备。
[0035] 本【技术领域】技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计 算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基 于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算 的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端 网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于 3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外 传输标准的近距无线传输方式。
[0036] 本发明的有关方法和装置,是基于Android操作系统实现的。为了实现本发明所 述方案的功能,需要获取Android操作系统的Root权限。
[0037] Root是指Linux系统中的Root账户,该账户可以操作系统中的所有对象,类似于 Windows系统中的Administrator账户。获取Root权限可以进行诸如备份系统、修改系统 的内部程序、获取文件目录、静默安装应用程序、卸载应用程序等操作。针对Android系统 的移动设备进行Root权限的获取,可以通过向移动设备植入SU和superuser, apk两个文 件实现,SU文件放入手机的/system/bin目录下,superuser, apk文件放入/system/app目 录下,两者运行时相互配合实现有效的Root权限管理。
[0038] 上述获取Root权限的方法为本领域的公知技术,现实中移动终端可以通过多种 方式实现Root,部分厂商也为用户开放了系统Root权限或为获取Root权限提供了便利手 段。因此,不应将Root权限的获取方式视为影响本发明实施的必要构件。
[0039] 以Android系统为应用平台,移动设备中的应用自启方式主要有以下三种方式:
[0040] 1、通过 broadcast receiver 组件实现自启
[0041] broadcast receiver是Android系统中接受并响应广播通知的一类组件,不 包含任何用户界面,但可以启动一个activity或service响应它们收到的信息,或者用 NotificationManager通知用户。注册广播接收者有两种方式:动态注册和静态注册。
[0042] 通过广播实现自启是目前最普遍的也是使用最多的应用自启方式。当目标应用采 用静态注册的方式通过对指定的广播在配置文件AndroidManifest. xml中注册广播组件, 在配置文件中添加代码如下所示:

【权利要求】
1. 一种禁止应用自启动的方法,其特征在于,包括w下步骤: 监控本机应用程序的启动行为; 拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应用的包名; 当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。
2. 根据权利要求1所述的一种禁止应用自启动的方法,其特征在于,所述数据记录W 数据库的形式予W表征,该数据库具有应用包名与是否允许该应用包名所对应的应用程序 启动的状态项之间的映射关系。
3. 根据权利要求2所述的一种禁止应用自启动的方法,其特征在于,所述数据记录既 包含允许自启动的应用的记录,又包含禁止自启动的应用的记录; 或者,仅仅包含禁止自启动的应用的记录。
4. 根据权利要求1至3任意一项所述的一种禁止应用自启动的方法,其特征在于,所述 数据记录还包括用于记录反复自启动应用信息的顽固自启日志。
5. 根据权利要求2所述的一种禁止应用自启动的方法,其特征在于,所述方法还提供 一个用户界面,用于显示顽固自启日志记录的信息。
6. 根据权利要求1所述的一种禁止应用自启动的方法,其特征在于,所述终止应用程 序启动的方法还包括强制切断顽固自启动应用的被唤醒路径。
7. -种禁止应用自启动的装置,其特征在于,包括: 监控单元:用于监控机型应用程序的启动行为; 拦截单元;拦截活动管理服务进程中用于执行该应用程序启动的执行函数,获取该应 用的包名; 禁止单元:当该应用包名非预设数据记录中的允许项时,终止该应用程序的启动行为。
8. 根据权利要求7所述的一种禁止应用自启动的装置,其特征在于,所述数据记录W 数据库的形式予W表征,该数据库具有应用包名与是否允许该应用包名所对应的应用程序 启动的状态项之间的映射关系。
9. 根据权利要求7所述的一种禁止应用自启动的装置,其特征在于,所述装置还包括 一个顽固自启日志生成单元,生成记录反复自启动应用信息的日志。
10. 根据权利要求7所述的一种禁止应用自启动的装置,其特征在于,所述装置还包括 唤醒路径切断单元,用于切断顽固自启动应用的被唤醒路径。
【文档编号】G06F21/51GK104462952SQ201410855681
【公开日】2015年3月25日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】宋振涛, 符传坚 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1