信息处理方法和装置制造方法
【专利摘要】本发明公开了一种信息处理方法和装置,实现在自动启动的应用启动之前就能够防止并阻止该应用自动启动。所述方法应用于电子设备,所述电子设备安装有一操作系统以及基于该操作系统的M个应用程序,该操作系统的服务管理单元控制M个应用程序中每一个应用程序的启动;所述方法包括:利用服务管理单元拦截启动第N个应用程序的应用请求;判断该应用请求是否符合预定条件,产生一判断结果;当该判断结果表明该应用请求符合预定条件时,响应该应用请求,启动该第N个应用程序;当该判断结果表明该应用请求不符合预定条件时,不响应该应用请求,以阻止第N个应用程序的启动。所述信息处理装置包括拦截单元、判断单元和执行单元。
【专利说明】信息处理方法和装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种信息处理方法和装置。
【背景技术】
[0002]Android (安卓)应用可以注册很多广播接收器来实现自启动,如接收开机广播、SD准备好等广播,就可以实现开机自启动。
[0003]而现有安全软件拦截开机自启动应用只是拦截开机广播,让应用收不到广播,无法实现启动。
[0004]本发明的发明人发现现有技术至少存在如下技术缺陷:
[0005]很多应用并不是注册接收开机广播来自启动,注册其他很多广播都可以让应用自启动,现在安全软件无法阻止应用自启动,只能在应用起来后再去杀掉。
【发明内容】
[0006]本发明所要解决的技术问题是提供一种信息处理方法和装置,实现在自动启动的应用启动之前就能够防止并阻止该应用自动启动。
[0007]为了解决上述技术问题,本发明提供了一种信息处理方法,所述方法应用于电子设备,所述电子设备安装有一操作系统以及基于所述操作系统的M个应用程序,其中,所述操作系统的服务管理单元控制所述M个应用程序中每一个应用程序的启动,M为大于等于I的整数;所述方法包括:
[0008]利用所述服务管理单元拦截启动第N个应用程序的应用请求,N为所述M中的任意一个;
[0009]判断所述应用请求是否符合预定条件,产生一判断结果;
[0010]当所述判断结果表明所述应用请求符合预定条件时,响应所述应用请求,启动所述第N个应用程序;
[0011]当所述判断结果表明所述应用请求不符合预定条件时,不响应所述应用请求,以阻止所述第N个应用程序的启动。
[0012]进一步地,所述利用所述服务管理单元拦截启动第N个应用程序的应用请求,包括:拦截所述服务管理单元接收的IBINDER接口数据,从中获取启动应用程序的应用请求。
[0013]进一步地,所述判断所述应用请求是否符合预定条件,包括:
[0014]判断所述应用请求如果满足以下条件任意之一,则认为符合预定条件,如果任一条件都不满足,则认为不符合预定条件:
[0015]所述启动第N个应用程序的应用请求为第一预设应用程序发送的;
[0016]所述第N个应用程序为第二预设应用程序。
[0017]进一步地,所述第一预设应用程序包括桌面启动器、当前显示的应用程序;所述第二预设应用程序包括用户预配置的应用程序。
[0018]进一步地,所述操作系统为安卓系统,所述服务管理单元为激活管理服务。
[0019]为了解决上述技术问题,本发明还提供了一种信息处理装置,所述装置应用于电子设备,所述电子设备安装有一操作系统以及基于所述操作系统的M个应用程序,其中,所述操作系统的服务管理单元控制所述M个应用程序中每一个应用程序的启动,M为大于等于I的整数;所述信息处理装置包括拦截单元、判断单元和执行单元,其中:
[0020]所述拦截单元,用于利用所述服务管理单元拦截启动第N个应用程序的应用请求,N为所述M中的任意一个;
[0021]所述判断单元,判断所述应用请求是否符合预定条件,产生一判断结果;
[0022]所述执行单元,用于当所述判断单元产生的判断结果表明所述应用请求符合预定条件时,响应所述应用请求,启动所述第N个应用程序;当所述判断单元产生的判断结果表明所述应用请求不符合预定条件时,不响应所述应用请求,以阻止所述第N个应用程序的启动。
[0023]进一步地,所述拦截单元利用所述服务管理单元拦截启动第N个应用程序的应用请求,包括:所述拦截单元拦截所述服务管理单元接收的IBINDER接口数据,从中获取启动第N个应用程序的应用请求。
[0024]进一步地,所述判断单元判断所述应用请求是否符合预定条件,包括:
[0025]所述判断单元判断所述应用请求如果满足以下条件任意之一,则认为符合预定条件,如果任一条件都不满足,则认为不符合预定条件:
[0026]所述启动第N个应用程序的应用请求为第一预设应用程序发送的;
[0027]所述第N个应用程序为第二预设应用程序。
[0028]进一步地,所述第一预设应用程序包括桌面启动器、当前显示的应用程序;所述第二预设应用程序包括用户预配置的应用程序。
[0029]进一步地,所述操作系统为安卓系统,所述服务管理单元为激活管理服务。
[0030]与现有技术相比,本申请通过对接收到的请求是否符合预定条件进行判断,仅执行符合预定条件的请求,实现了请求的拦截,避免电子设备响应不必要的请求,节约系统资源。
[0031]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】
【附图说明】
[0032]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0033]图1是本发明实施例1信息处理方法流程图;
[0034]图2是本发明实施例1信息处理装置结构示意图;
[0035]图3是本发明实施例2信息处理方法流程图;
[0036]图4是本发明实施例3信息处理方法流程图;
[0037]图5是本发明实施例4信息处理方法流程图;
[0038]图6是本发明实施例5信息处理方法流程图。
[0039]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
【具体实施方式】
[0040]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0041]实施例1
[0042]本实施例介绍一种应用于电子设备的信息处理方法,该电子设备安装有一操作系统以及基于该操作系统的M个应用程序,其中,该操作系统的服务管理单元控制该M个应用程序中每一个应用程序的启动,M为大于等于I的整数,如图1所示,该方法包括:
[0043]步骤101,利用所述服务管理单元拦截启动第N个应用程序的应用请求,N为所述M中的任意一个;
[0044]同一时刻,服务管理单元接收的启动应用程序的应用请求可能只有一个或者也可能有多个(2个以上),如果只有一个,则该应用程序即为第N个应用程序,如果有多个,则该多个应用程序中的每一个都可以看做是上述第N个应用程序。
[0045]步骤102,判断所述应用请求是否符合预定条件,产生一判断结果;
[0046]在本实施例中,可采用以下方式判断所述应用请求是否符合预定条件:
[0047]判断所述应用请求如果满足以下条件任意之一,则认为符合预定条件,如果任一条件都不满足,则认为不符合预定条件:
[0048]所述启动第N个应用程序的应用请求为第一预设应用程序发送的;
[0049]所述第N个应用程序为第二预设应用程序;
[0050]以上条件可以根据需要进行增减和修改。
[0051]在一个优选实施例中,所述第一预设应用程序可以包括桌面启动器、当前显示的应用程序(即屏幕最上方的应用程序);所述第二预设应用程序可以包括用户预配置的应用程序。
[0052]对于是否为桌面启动器发送的请求以及是否为启动用户预配置的应用程序,可根据应用请求中携带的应用程序的标识号来判断,例如设置预设应用程序列表(白列表),列表中保存有预设应用程序的标识号,在收到启动第N个应用程序的应用请求后,从该应用请求中获取发送该请求的应用程序标识以及该第N个应用程序的标识,分别与预设应用程序列表中的标识号进行匹配,如果匹配,则说明该应用请求符合预定条件,如果不匹配,则说明该应用请求不符合预定条件。对于是否为当前显示的应用程序发送的请求,获得发送该启动请求的应用程序标识,同时询问系统当前显示的应用程序标识,如果两者匹配,则认为该应用请求符合预定条件,如果不匹配,则认为该应用请求不符合预定条件。
[0053]步骤103,当所述判断结果表明所述应用请求符合预定条件时,响应所述应用请求,启动所述第N个应用程序;当所述判断结果表明所述应用请求不符合预定条件时,不响应所述应用请求,以阻止所述第N个应用程序的启动。
[0054]实现上述实施例方法的信息处理装置如图2所示,该装置应用于电子设备,所述电子设备安装有一操作系统以及基于所述操作系统的M个应用程序,其中,所述操作系统的服务管理单元控制所述M个应用程序中每一个应用程序的启动,M为大于等于I的整数;所述信息处理装置包括拦截单元201、判断单元202和执行单元203,其中:
[0055]所述拦截单元201,用于利用所述服务管理单元拦截启动第N个应用程序的应用请求,N为所述M中的任意一个;
[0056]所述判断单元202,判断所述应用请求是否符合预定条件,产生一判断结果;
[0057]所述执行单元203,用于当所述判断单元202产生的判断结果表明所述应用请求符合预定条件时,响应所述应用请求,启动所述第N个应用程序;当所述判断单元202产生的判断结果表明所述应用请求不符合预定条件时,不响应所述应用请求,以阻止所述第N个应用程序的启动。
[0058]在一个优选实施例中,所述拦截单元201利用所述服务管理单元拦截启动第N个应用程序的应用请求,包括:所述拦截单元201拦截所述服务管理单元接收的IBINDER接口数据,从中获取启动第N个应用程序的应用请求。
[0059]在一个优选实施例中,所述判断单元202判断所述应用请求是否符合预定条件,包括:所述判断单元202判断所述应用请求如果满足以下条件任意之一,则认为符合预定条件,如果任一条件都不满足,则认为不符合预定条件:条件1:所述启动第N个应用程序的应用请求为第一预设应用程序发送的;条件2:所述第N个应用程序为第二预设应用程序。
[0060]本实施例方法和装置,通过对服务管理单元接收到的请求是否符合预定条件进行判断,仅执行符合预定条件的请求,实现了请求的拦截,避免电子设备响应不必要的请求,节约系统资源。
[0061]实施例2
[0062]本实施例以桌面启动器(Launcher)启动应用程序为例对上述实施例1方法进行具体说明,如图3所示,该方法包括:
[0063]步骤301,拦截单元201利用所述服务管理单元接收到桌面启动器发送的启动某应用程序的请求;
[0064]步骤302,判断单元202判断发送应用请求的应用程序即Launcher是否符合预定条件,广生一判断结果;
[0065]步骤303,所述判断结果表明Launcher为第一预设应用程序,即符合预定条件,执行单元203响应该启动请求,启动该应用程序。
[0066]本发明实施例针对用户点击启动桌面上的应用程序触发其启动的行为,因此认为Launcher发送的启动应用程序的请求为用户允许的行为。
[0067]实施例3
[0068]本实施例以当前显示的应用程序发送启动请求为例对上述实施例1方法进行具体说明,如图4所示,该方法包括:
[0069]步骤401,拦截单元201利用所述服务管理单元接收启动应用程序的应用请求;
[0070]步骤402,判断单元202判断发送所述应用请求的应用程序是否为当前显示的应用程序(即屏幕最上方的应用程序),产生一判断结果;
[0071]步骤403,所述判断结果表明该发送应用请求的应用程序为当前显示的应用程序,即符合预定条件,执行单元203响应该启动请求,启动请求启动的应用程序。
[0072]本发明实施例针对用户点击屏幕最上方的应用程序触发该应用程序启动的行为。
[0073]实施例4
[0074]本实施例以启动用户预配置的应用程序为例对上述实施例1方法进行具体说明,如图5所示,该方法包括:
[0075]步骤501,拦截单元201利用所述服务管理单元接收启动某个应用程序的请求;
[0076]步骤502,判断单元202判断该应用程序是否符合预定条件,产生一判断结果;
[0077]步骤503,如果判断结果表明该应用程序为用户预配置的应用程序,即符合预定条件,则执行单元203响应该启动请求,启动该应用程序;如果判断结果表明该应用程序不是用户预配置的应用程序,即不符合预定条件,则执行单元203不响应该启动请求,实现阻止该应用程序启动的目的。
[0078]实施例5
[0079]本实施例以安装有安卓(Android)系统的电子设备为例对上述实施例1方法进行具体说明,在本实施例中,服务单元为激活管理(Activity Manager)服务进程,如图6所示,该方法包括
[0080]步骤601,拦截单元201利用激活管理服务进程截获IBINDER (无通用中文技术术语)数据以获取启动请求;
[0081]步骤602,判断单元202判断该启动请求是否符合预定条件,获得一判断结果;
[0082]判断是否符合预定条件参见实施例1中描述,此处不再赘述。
[0083]步骤603,当所述判断结果表明所述应用请求符合预定条件时,执行单元203响应所述应用请求,启动所述第N个应用程序;当所述判断结果表明所述应用请求不符合预定条件时,执行单元203不响应所述应用请求,以阻止所述第N个应用程序的启动。
[0084]执行单元203响应该应用请求可以是执行单元放行该请求至Activity Manager服务进程,由Activity Manager服务进程启动应用程序。
[0085]由于Android启动应用都是Activity Manager服务进程来控制的,ActivityManager服务进程接收到启动请求后执行启动应用的操作,因此只要拦截向ActivityManager服务进程的启动请求(可通过在Activity Manager中注入代码实现),设置通过条件,即可实现启动控制。IBINDER接口为应用启动时通知激活管理服务的必经接口,因此可通过截获IBINDER数据获取应用程序发送的启动请求,以实现应用请求的拦截。
[0086]本领域的技术人员应该明白,上述的本申请实施例所提供的装置和/或系统的各组成部分,以及方法中的各步骤,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。可选地,它们可以用计算装置可执行的程序代码来实现。从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0087]虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1.一种信息处理方法,其特征在于,所述方法应用于电子设备,所述电子设备安装有一操作系统以及基于所述操作系统的M个应用程序,其中,所述操作系统的服务管理单元控制所述M个应用程序中每一个应用程序的启动,M为大于等于I的整数;所述方法包括: 利用所述服务管理单元拦截启动第N个应用程序的应用请求,N为所述M中的任意一个; 判断所述应用请求是否符合预定条件,产生一判断结果; 当所述判断结果表明所述应用请求符合预定条件时,响应所述应用请求,启动所述第N个应用程序; 当所述判断结果表明所述应用请求不符合预定条件时,不响应所述应用请求,以阻止所述第N个应用程序的启动。
2.如权利要求1所述的方法,其 特征在于, 所述利用所述服务管理单元拦截启动第N个应用程序的应用请求,包括: 拦截所述服务管理单元接收的IBINDER接口数据,从中获取启动应用程序的应用请求。
3.如权利要求1所述的方法,其特征在于, 所述判断所述应用请求是否符合预定条件,包括: 判断所述应用请求如果满足以下条件任意之一,则认为符合预定条件,如果任一条件都不满足,则认为不符合预定条件: 所述启动第N个应用程序的应用请求为第一预设应用程序发送的; 所述第N个应用程序为第二预设应用程序。
4.如权利要求3所述的方法,其特征在于, 所述第一预设应用程序包括桌面启动器、当前显示的应用程序; 所述第二预设应用程序包括用户预配置的应用程序。
5.如权利要求1-4中任一权利要求所述的方法,其特征在于, 所述操作系统为安卓系统,所述服务管理单元为激活管理服务。
6.一种信息处理装置,其特征在于,所述装置应用于电子设备,所述电子设备安装有一操作系统以及基于所述操作系统的M个应用程序,其中,所述操作系统的服务管理单元控制所述M个应用程序中每一个应用程序的启动,M为大于等于I的整数;所述信息处理装置包括拦截单元、判断单元和执行单元,其中: 所述拦截单元,用于利用所述服务管理单元拦截启动第N个应用程序的应用请求,N为所述M中的任意一个; 所述判断单元,判断所述应用请求是否符合预定条件,产生一判断结果; 所述执行单元,用于当所述判断单元产生的判断结果表明所述应用请求符合预定条件时,响应所述应用请求,启动所述第N个应用程序;当所述判断单元产生的判断结果表明所述应用请求不符合预定条件时,不响应所述应用请求,以阻止所述第N个应用程序的启动。
7.如权利要求6所述的信息处理装置,其特征在于, 所述拦截单元利用所述服务管理单元拦截启动第N个应用程序的应用请求,包括: 所述拦截单元拦截所述服务管理单元接收的IBINDER接口数据,从中获取启动第N个应用程序的应用请求。
8.如权利要求6所述的信息处理装置,其特征在于, 所述判断单元判断所述应用请求是否符合预定条件,包括: 所述判断单元判断所述应用请求如果满足以下条件任意之一,则认为符合预定条件,如果任一条件都不满足,则认为不符合预定条件: 所述启动第N个应用程序的应用请求为第一预设应用程序发送的; 所述第N个应用程序为第二预设应用程序。
9.如权利要求8所述的信息处理装置,其特征在于, 所述第一预设应用程序包括桌面启动器、当前显示的应用程序; 所述第二预设应用程序包括用户预配置的应用程序。
10.如权利要求6-9中任一权利要求所述的信息处理装置,其特征在于, 所述操作系统为安卓系 统,所述服务管理单元为激活管理服务。
【文档编号】G06F21/51GK104077521SQ201310096268
【公开日】2014年10月1日 申请日期:2013年3月25日 优先权日:2013年3月25日
【发明者】李甘 申请人:联想(北京)有限公司