发明内容
本发明实施例的目的在于提供一种应用程序拦截方法及装置,以节省系统内存储空间的占用,避免用户流量的消耗。
为达到上述目的,本发明实施例公开了一种应用程序拦截方法,应用于终端,包括:
获得针对所述终端的操作系统的超级用户权限;
根据所述超级用户权限,开启所述终端的后台监控服务;
利用所述后台监控服务,监控所述终端中是否存在有针对目标应用程序的调用行为;
如果存在,判断所述目标应用程序当前是否处于运行状态;
如果所述目标应用程序当前处于未运行状态,判断针对所述目标应用程序的调用行为是否由用户发起;
如果否,根据预设拦截规则,拦截所述目标应用程序的启动。
可选的,所述判断针对所述目标应用程序的调用行为是否由用户发起,可以包括:判断针对所述目标应用程序的调用行为的行为发起者是否为当前正在使用的桌面,如果是,表示针对所述目标应用程序的调用行为是由用户发起。
可选的,所述根据预设拦截规则,拦截所述目标应用程序的启动,可以包括:直接拦截所述目标应用程序的启动。
可选的,所述根据预设拦截规则,拦截所述目标应用程序的启动,可以包括:向用户展示包括是否拦截所述目标应用程序的启动的信息;
在用户选择拦截所述目标应用程序的启动的情况下,拦截所述目标应用程序的启动。
可选的,所述根据预设拦截规则,拦截所述目标应用程序的启动,可以包括:判断针对所述目标应用程序的调用行为的行为发起者是否为预设应用程序;如果否,拦截所述目标应用程序的启动。
可选的,所述方法还可以包括:判断预设时长内,是否存在针对所述目标应用程序的启动的未拦截行为;
如果不存在,判断所述目标应用程序当前是否处于运行状态;
如果是,关闭所述目标应用程序。
本发明实施例还公开了一种应用程序拦截装置,应用于终端,包括:获得模块、开启模块、监控模块、第一判断模块、第二判断模块和拦截模块,其中,
所述获得模块,用于获得针对所述终端的操作系统的超级用户权限;
所述开启模块,用于根据所述超级用户权限,开启所述终端的后台监控服务;
所述监控模块,用于利用所述后台监控服务,监控所述终端中是否存在有针对目标应用程序的调用行为;
所述第一判断模块,用于在所述监控模块监控所述终端中存在有针对目标应用程序的调用行为的情况下,判断所述目标应用程序当前是否处于运行状态;
所述第二判断模块,用于在所述第一判断模块判断所述目标应用程序当前处于未运行状态的情况下,判断针对所述目标应用程序的调用行为是否由用户发起;
所述拦截模块,用于在所述第二判断模块判断针对所述目标应用程序的调用行为不是由用户发起的情况下,根据预设拦截规则,拦截所述目标应用程序的启动。
可选的,所述第二判断模块,具体可以用于:
在所述第一判断模块判断所述目标应用程序当前处于未运行状态的情况下,判断针对所述目标应用程序的调用行为的行为发起者是否为当前正在使用的桌面,如果是,表示针对所述目标应用程序的调用行为是由用户发起。
可选的,所述拦截模块,具体可以用于:
在所述第二判断模块判断针对所述目标应用程序的调用行为不是由用户发起的情况下,直接拦截所述目标应用程序的启动。
可选的,所述拦截模块,可以包括:展示子模块和拦截子模块,其中,
所述展示子模块,用于在所述第二判断模块判断针对所述目标应用程序的调用行为不是由用户发起的情况下,向用户展示包括是否拦截所述目标应用程序的启动的信息;
所述拦截子模块,用于在用户选择拦截所述目标应用程序的启动的情况下,拦截所述目标应用程序的启动。
可选的,所述拦截模块,具体可以用于:
在所述第二判断模块判断针对所述目标应用程序的调用行为不是由用户发起的情况下,判断针对所述目标应用程序的调用行为的行为发起者是否为预设应用程序;
如果否,拦截所述目标应用程序的启动。
可选的,所述装置还可以包括:第三判断模块、第四判断模块和关闭模块,其中,
所述第三判断模块,用于判断预设时长内,是否存在针对所述目标应用程序的启动的未拦截行为;
所述第四判断模块,用于在所述第三判断模块判断预设时长内,不存在针对所述目标应用程序的启动的未拦截行为的情况下,判断所述目标应用程序当前是否处于运行状态;
所述关闭模块,用于在所述第四判断模块判断所述目标应用程序当前处于运行状态的情况下,关闭所述目标应用程序。
由上述技术方案可见,在本发明实施例中,判断针对目标应用程序的调用行为是否需要拦截,如果需要,拦截目标应用程序的启动,节省了系统内存储空间的占用,避免了用户流量的消耗。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种应用程序拦截方法及装置。下面首先对本发明实施例所提供的一种应用程序拦截方法进行介绍。
需要说明的是,本发明的实施例优选适用于安装了iOS操作系统(iOS是由苹果公司开发的手持设备操作系统)、或安卓操作系统(Android系统是一种基于Linux的自由及开放源代码的操作系统)、或WindowsPhone操作系统(WindowsPhone是微软公司发布的一款手机操作系统)的终端,当然也适用于其他终端,本发明对此不作限定。
图1为本发明实施例提供的应用程序拦截方法的第一种流程示意图,可以包括:
S101:获得针对终端的操作系统的超级用户权限。
在实际应用中,上述操作系统的超级用户权限,即为root权限。
S102:根据超级用户权限,开启终端的后台监控服务。
S103:利用后台监控服务,监控终端中是否存在有针对目标应用程序的调用行为,如果是,执行S104。
S104:判断目标应用程序当前是否处于运行状态,如果否,执行S105。
S105:判断针对目标应用程序的调用行为是否由用户发起,如果否,执行S106。
具体的,判断针对目标应用程序的调用行为是否由用户发起,可以判断针对目标应用程序的调用行为的行为发起者是否为当前正在使用的桌面,如果是,表示针对所述目标应用程序的调用行为是由用户发起。
S106:根据预设拦截规则,拦截所述目标应用程序的启动。
具体的,根据预设拦截规则,拦截所述目标应用程序的启动,可以有三种方式。
第一种,直接拦截所述目标应用程序的启动。
第二种,向用户展示包括是否拦截所述目标应用程序的启动的信息;在用户选择拦截所述目标应用程序的启动的情况下,拦截所述目标应用程序的启动。
第三种,判断针对所述目标应用程序的调用行为的行为发起者是否为预设应用程序;如果否,拦截所述目标应用程序的启动。
假设获得了针对终端的操作系统的root权限,根据root权限,开启终端的后台监控服务,利用后台监控服务,监控终端中存在有针对目标应用程序A的调用行为。
判断目标应用程序A当前是否处于运行状态。判断应用程序当前是否处于运行状态为现有技术,在此不做赘述。
假设A处于运行状态,则不做处理。
假设A处于未运行状态,判断针对目标应用程序的A调用行为是否由用户发起,可以判断针对目标应用程序的调用行为的行为发起者是否为当前正在使用的桌面,如果是,表示针对所述目标应用程序的调用行为是由用户发起。
在实际应用中,终端中可以安装多个桌面,可以包括系统自带桌面和用户自行安装的主题桌面。上述桌面为当前正在使用的桌面。如果针对目标应用程序A的调用行为的行为发起者为当前正在使用的桌面,则表示用户通过当前正在使用的桌面调用了目标应用程序A。这种情况下,不做处理。
如果针对目标应用程序A的调用行为的行为发起者不是当前正在使用的桌面,根据预设拦截规则,拦截目标应用程序A的启动。
在实际应用中,根据预设拦截规则,拦截目标应用程序A的启动,可以采用上述三种方式。
第一种,直接拦截目标应用程序A的启动。
第二种,向用户展示包括是否拦截目标应用程序A的启动的信息,在用户选择拦截目标应用程序A的启动的情况下,拦截目标应用程序A的启动。
在实际应用中,可以以向用户展示“拦截”和“不拦截”的两个选择按键的方式,向用户展示包括是否拦截目标应用程序A的启动的信息。如果用户选择“拦截”的按键,则拦截目标应用程序A的启动。如果用户选择“不拦截”的按键,则不做处理。
第三种,判断针对所述目标应用程序的调用行为的行为发起者是否为预设应用程序;如果否,拦截所述目标应用程序的启动。
在实际应用中,上述预设拦截规则还可以为预先设置的一些规定,比如,应用程序X调用应用程序Y的行为可以不拦截,应用程序C调用应用程序A的行为可以不拦截;所有针对应用程序M的调用行为均可以不拦截;针对目标应用程序的调用行为如果是由应用程序N发起,则可以不拦截等等。
假设预设拦截规则为上述预先设置的规定,针对目标应用程序A的调用行为的行为发起者为应用程序C。判断针对目标应用程序A的调用行为的行为发起者应用程序C为上述预先设置的规定中的预设应用程序,则不做处理。
假设预设拦截规则为上述预先设置的规定,针对目标应用程序A的调用行为的行为发起者为应用程序D。判断针对目标应用程序A的调用行为的行为发起者应用程序D不为上述预先设置的规定中的预设应用程序,则拦截目标应用程序A的启动。
假设预设拦截规则为上述预先设置的规定,针对目标应用程序A的调用行为的行为发起者为应用程序N。判断针对目标应用程序A的调用行为的行为发起者应用程序N为上述预先设置的规定中的预设应用程序,则不做处理。
需要说明的是,上述以目标应用程序A为例进行说明,仅为本发明的一具体实例,并不构成对本发明的限定。
应用本发明图1所示实施例,判断针对目标应用程序的调用行为是否需要拦截,如果需要,拦截目标应用程序的启动,节省了系统内存储空间的占用,避免了用户流量的消耗。
图2为本发明实施例提供的应用程序拦截方法的第二种流程示意图,本发明图2所示实施例在图1所示实施例的基础上,增加如下步骤:
S107:判断预设时长内,是否存在针对目标应用程序的启动的未拦截行为,如果否,执行S108。
S108:判断目标应用程序当前是否处于运行状态,如果是,执行S109。
S109:关闭目标应用程序。
假设根据预设拦截规则,拦截了目标应用程序A的启动,预设时长为30秒。
判断在拦截了目标应用程序A的启动之后30秒内,是否存在某应用程序或者用户调用了目标应用程序A,并且目标应用程序A的启动未被拦截的情况,如果存在,不做处理。如果不存在,判断目标应用程序A当前是否处于运行状态。如果目标应用程序A处于运行状态,则表示拦截目标应用程序A的启动失败了,这种情况下,关闭目标应用程序A。
需要说明的是,上述以目标应用程序A为例进行说明,仅为本发明的一具体实例,并不构成对本发明的限定。
应用本发明图2所示实施例,在拦截目标应用程序的启动失败的情况下,将该目标应用程序关闭,节省了系统内存储空间的占用,避免了用户流量的消耗。
图3为本发明实施例提供的应用程序拦截装置的第一种结构示意图,可以包括:获得模块201、开启模块202、监控模块203、第一判断模块204、第二判断模块205和拦截模块206,其中,
获得模块201,用于获得针对所述终端的操作系统的超级用户权限;
开启模块202,用于根据所述超级用户权限,开启所述终端的后台监控服务;
监控模块203,用于利用所述后台监控服务,监控所述终端中是否存在有针对目标应用程序的调用行为;
第一判断模块204,用于在监控模块203监控所述终端中存在有针对目标应用程序的调用行为的情况下,判断所述目标应用程序当前是否处于运行状态;
第二判断模块205,用于在第一判断模块204判断所述目标应用程序当前处于未运行状态的情况下,判断针对所述目标应用程序的调用行为是否由用户发起;
拦截模块206,用于在第二判断模块205判断针对所述目标应用程序的调用行为不是由用户发起的情况下,根据预设拦截规则,拦截所述目标应用程序的启动。
在实际应用中,第二判断模块205,具体可以用于:
在所述第一判断模块判断所述目标应用程序当前处于未运行状态的情况下,判断针对所述目标应用程序的调用行为的行为发起者是否为当前正在使用的桌面,如果是,表示针对所述目标应用程序的调用行为是由用户发起。
在实际应用中,拦截模块206,具体可以用于:
在所述第二判断模块判断针对所述目标应用程序的调用行为不是由用户发起的情况下,直接拦截所述目标应用程序的启动。
在实际应用中,拦截模块206,可以包括:展示子模块和拦截子模块(图中未示出),其中,
所述展示子模块,用于在所述第二判断模块判断针对所述目标应用程序的调用行为不是由用户发起的情况下,向用户展示包括是否拦截所述目标应用程序的启动的信息;
所述拦截子模块,用于在用户选择拦截所述目标应用程序的启动的情况下,拦截所述目标应用程序的启动。
在实际应用中,拦截模块206,具体可以用于:
在所述第二判断模块判断针对所述目标应用程序的调用行为不是由用户发起的情况下,判断针对所述目标应用程序的调用行为的行为发起者是否为预设应用程序;
如果否,拦截所述目标应用程序的启动。
应用本发明图3所示实施例,判断针对目标应用程序的调用行为是否需要拦截,如果需要,拦截目标应用程序的启动,节省了系统内存储空间的占用,避免了用户流量的消耗。
图4为本发明实施例提供的应用程序拦截装置的第二种结构示意图,本发明图4所示实施例在图3所示实施例的基础上,还可以包括:第三判断模块207、第四判断模块208和关闭模块209,其中,
第三判断模块207,用于判断预设时长内,是否存在针对所述目标应用程序的启动的未拦截行为;
第四判断模块208,用于在第三判断模块207判断预设时长内,不存在针对所述目标应用程序的启动的未拦截行为的情况下,判断所述目标应用程序当前是否处于运行状态;
关闭模块209,用于在第四判断模块208判断所述目标应用程序当前处于运行状态的情况下,关闭所述目标应用程序。
应用本发明图4所示实施例,在拦截目标应用程序的启动失败的情况下,将该目标应用程序关闭,节省了系统内存储空间的占用,避免了用户流量的消耗。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。