一种安卓系统禁止应用程序后台自启的方法及终端的制作方法

文档序号:9523969阅读:2545来源:国知局
一种安卓系统禁止应用程序后台自启的方法及终端的制作方法
【技术领域】
[0001]本发明涉及智能终端技术领域,具体涉及智能终端应用程序后台自启技术,尤其涉及一种安卓系统禁止应用程序后台自启的方法及终端。
【背景技术】
[0002]基于Android (安卓)系统的智能终端通常安装有各种应用程序,其中很多应用程序可后台自启,即用户即使没有选择进入,这类应用程序也会自启并在后台运行。这类应用程序通常会监听系统环境的各种事件,如应用程序安装/卸载、网络变化、接收到短信、接收到电话、设置日期/时间等事件,一旦这些事件发生,系统会发送相应事件的广播消息,这类应用程序在收到这些系统广播消息后就会在后台启动自己。现有技术没有主动禁止这类应用程序后台自启的行为,导致大量系统资源的浪费,对智能终端的性能造成影响。

【发明内容】

[0003]有鉴于此,本发明提供一种安卓系统禁止应用程序后台自启的方法及终端,能够解决安卓系统不能禁止后台自启应用程序的问题。
[0004]本发明采用以下技术方案:
[0005]本发明第一方面提供了一种安卓系统禁止应用程序后台自启的方法,包括:
[0006]获取应用程序对应的包管理器;
[0007]通过所述包管理器检测该应用程序是否有监听系统广播消息以自启;
[0008]若是,将该应用程序确定为后台自启应用程序,禁止后台自启该应用程序。
[0009]本发明第二方面提供了一种安卓系统禁止应用程序后台自启的终端,包括:
[0010]获取包管理器模块,用于获取应用程序对应的包管理器;
[0011]检测模块,用于通过所述包管理器检测该应用程序是否有监听系统广播消息以自启;
[0012]禁止模块,用于若检测模块检测出该应用程序有监听系统广播消息以自启,则将该应用程序确定为后台自启应用程序,禁止后台自启该应用程序。
[0013]实施本发明的上述技术方案的有益效果包括:基于系统为应用程序提供的对应的包管理器检测该应用程序是否有监听系统广播消息以自启,若是,将该应用程序确定为后台自启应用程序,禁止后台自启该应用程序。本方案可高效的检测出系统中的后台自启应用程序,并禁止其后台自启,减少了系统资源的浪费,有利于提高终端的运行速度。
【附图说明】
[0014]图1是实施本发明的安卓系统禁止应用程序后台自启的方法的硬件环境示意图;
[0015]图2是本发明第一实施例中的安卓系统禁止应用程序后台自启的方法的实现流程图;
[0016]图3是本发明第二实施例中的安卓系统禁止应用程序后台自启的方法的实现流程图;
[0017]图4是本发明第三实施例中的安卓系统禁止应用程序后台自启的终端的结构示意图。
【具体实施方式】
[0018]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0019]如图1所示,实施本发明所需的硬件环境为基于安卓系统的终端10,所述终端10至少包括处理器、以及与该处理器连接存储器,还包括为处理器、存储器供电的电源。所述终端10包括智能手机、平板电脑、PDA等智能终端。其中的存储器可为主存储器、辅助存储器、高速缓冲存储器、控制存储器等,用于存放系统及应用程序的数据。其中的电源可为接入的市电或者电池。
[0020]本发明实施例中,用户通过终端10安装/卸载应用程序、更新网络连接、接收到短信、接收到电话、设置日期时间等事件时,终端系统会发出对应的广播消息。
[0021]在图2中示出了本发明的第一实施例。
[0022]图2为本发明第一实施例中的安卓系统禁止应用程序后台自启的方法的实现流程,该实现流程详述如下:
[0023]在步骤S101中,获取应用程序对应的包管理器。
[0024]在第一实施例中,Android系统提供了很多服务管理的类,例如PowerManager (电源管理)、Aud1Manager (音频管理)以及PackageManager (包管理器)。其中PackageManager用于管理应用程序包,它可以获取已安装的应用程序的各种信息,例如应用程序的包名(packagename,用于唯一标记应用程序的字符串)、应用程序的界面名(activitylnfoName)、应用程序占用的缓存大小(cachsize)、应用程序的数据大小(datasize)等。安卓系统为每个应用程序分别提供有对应的包管理器。
[0025]在步骤S102中,通过该应用程序对应的包管理器检测该应用程序是否有监听系统广播消息以自启。
[0026]在第一实施例中,后台自启应用程序具有以下特征,它们会监听各种应用程序安装、卸载、网络变化、接收到短信、接收到电话、设置日期时间等系统事件。当这些事件发生时系统会发送相应的系统广播消息,这类应用程序收到这些系统广播消息后,它们会在后台启动自己,达到后台自启的目的。因此,即使用户没有选择启动,只要这类程序监听到有相应的系统广播消息,就会后台自启,占用系统资源。较佳的,常见的系统事件及其对应的系统广播消息如下:
[0027]应用程序安装事件-"android, intent, act1n.PACKAGE_ADDED";
[0028]应用程序卸载事件-"android, intent, act1n.PACKAGE_REM0VED";
[0029]wifi 变化事件-"android, net.wif1.WIFI_STATE_CHANGED";
[0030]接收到短信事件-"android, provider.Telephony.SMS_RECEIVED";
[0031]接收到电话事件-"android, intent, act1n.PH0NE_STATE";
[0032]设置日期事件-"android, intent, act1n.TIME_SET"。
[0033]在步骤S103中,若步骤S102中检测出该应用程序有监听系统广播消息以自启,则将该应用程序确定为后台自启应用程序,禁止后台自启该应用程序。
[0034]在第一实施例中,系统广播消息包括:应用程序安装事件、应用程序卸载事件、网络变化事件、接收到短信事件、接收到来电事件、设置日期/时间事件的广播消息。
[0035]在第一实施例中,可以通过禁止应用程序监听系统广播消息的途径来禁止其后台自启,即使应用程序失去通过系统事件监听达到后台自启的能力。
[0036]通过本发明第一实施例,基于系统提供的包管理器检测出系统中应用程序是否为后台自启应用程序,若是,则禁止后台自启该应用程序。本方案可高效的检测出系统中的后台自启应用程序,并禁止其后台自启,减少了系统资源的浪费,有利于提高终端的运行速度。
[0037]在图3中示出了本发明的第二实施例。第二实施例与第一实施例的主要区别在于对检测应用程序是否有监听系统广播消息以自启,以确定该应用程序是否为后台自启应用程序,进而禁止该应用程序后台自启的方式进行了具体说明,即具体说明了如何识别后台自启应用程序,以及如何禁止这类应用程序后台自启。
[0038]图3是本发明第二实施例中的安卓系统禁止应用程序后台自启的方法的实现流程,该实现流程详述如下:
[0039]在步骤S201中,获取应用程序对应的包管理器。
[0040]在第二实施例中,安卓系统中的每个应用程序可通过自身应用的上下文获取系统提供的包管理器,具体方式可为:PackageManager pm = this.getApplicat1nContext ().getPackageManager (),其中pm即是获取到的应用程序对应的包管理器。
[0041]在步骤S202中,通过所述包管理器获取该应用程序的配置文件。
[0042]安卓系统中包管理器用于管理应用程序包,它可以获取已安装的应用程序的各种信息。
[0043]在步骤S203中,检测该应用程序的配置文件中是否存在系统广播消息对应的字符串?若是,执行下一步,否则,将该应用程序确定为不是后台自启应用程序,结束。
[0044]在第二实施例中,包管理器可检测该应用程序是否具有监听这些系统广播消息以自启的行为。较佳的,由于本实施例中每一个系统事件对应的广播消息都是一个字符串,例如:
[0045]应用程序安装事件-"android, intent, act1n.PACKAGE_ADDED";
[0046]应用程序卸载事件-"android, intent, act1n.PACKAGE_REM0VED";
[0047]wifi 变化事件-"android, net.wif1.WIFI_STATE_CHANGED";
[0048]接收到短信事件-"android, provider.Telephony.SMS_RECEIVED";
[0049]接收到电话事件-"android, intent, act1n.PH0NE_STATE";
[0050]设置日期事件-"android, intent, act1n.TIME_SET"。
[0051]基于此,包管理器的具体检测的方法可为:检测该应用程序的配置文件中查询是否有对应的系统广播消息的字符串存在,如果存在,则证明该应用程序是后台自启应用程序,执行下一步,否则,将该应用程序确定为不是后台自启应用程序,结束。
[0052]作为本发明的另一优选实施方式,考虑到应用程序的配置文件虽然存在的系统广播消息的字符串,但该字符串可能不用于使其自启的情况,步骤S203还可替换为检测该应用程序的配置文件中是否存在系统广播消息对应的字符串、以及用于接收所述系统广播消息以自启的指令;如果存在这样的字符串及指令,则证明该应用程序是后台自启应用程序,执行下一步,否则,将该应用程序确定为不是后台自启应用程序,结束。这种实施方式的检测该应用程序是否有监听系统广播消息以自启的方式更准确,但检测复杂度高。
[0053]在步骤S204中,从该应用程序的配置文件中获取该应用程序的特征值。
[0054]在第二实施例中,该应用程序的特征值包括该应用程序的包名和界面名。
[0055]在步骤S205中,禁止该应用程序后台自启。
[0056]在第二实施例中,包管理器通过禁止该应用程序监听系统广播消息的途径来禁止其后台自启。具体的禁止方法如下:
[0057]通过执行指令”pm disable packageName activitylnfoName”禁止应用程序监听系统广播
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1