本发明专利技术实施例提供一种休眠拦截方法与系统,所述方法包括以下步骤:为应用程序配置休眠拦截权限;当应用程序利用休眠拦截接口发出执行锁定操作和/或释放操作的指令时;判断应用程序是否存在休眠拦截权限;如果存在则按照该应用程序发出的指令执行该操作,如果不存在则屏蔽该指令;所述系统包括配置模块,用于为应用程序配置休眠拦截权限;权限模块,用于判断发出指令的应用程序是否存在休眠拦截权限;并生成判断权限结果;执行模块,用于获取所述判断权限结果,如果判断权限结果为存在休眠拦截权限,则按照该应用程序发出的指令执行该操作,如果判断权限结果为不存在休眠拦截权限,则屏蔽该指令。
【技术实现步骤摘要】
本专利技术涉及手持设备领域,特别涉及一种休眠拦截方法及系统。
技术介绍
现阶段随着手持设备的应用越来越广泛,功能日益丰富,相应的手持设备的耗电功率也越来越高,手持设备的电池续航能力也成为用户采购时较为关注的一项参数。由于现阶段电池技术的局限,很多手持设备的续航时间往往达不到用户理想的效果,所以手持设备节电能力的改良也成为研发的一项重点内容。手持设备的节电主要可以从硬件和软件两方面入手;硬件方面来讲,可以通过降低设备在工作时的功耗来达到节电的目的;软件方面来讲,可以在设备闲置时让设备进入 休眠状态,从而将能耗降到最低,当用户对设备进行操作时再将设备从休眠状态中唤醒。现阶段手持设备的操作系统中,除了系统自身拥有控制设备进入休眠的能力之夕卜,也会对其他应用程序开放休眠拦截接口,允许其他软件干涉设备的休眠与唤醒。这类接口的功能一般是允许应用程序组织设备进入休眠或将设备从休眠中唤醒。利用此类接口实现应用程序干涉设备休眠的机制被称为休眠拦截机制,即WakeLock机制。在WakeLock机制下,某个应用程序可以利用休眠拦截接口执行锁定(acquire)或释放(release)两种操作。当某一个应用程序执行acquire操作时,则表示该应用程序向系统申请拦截休眠,WakeLock机制在此时不允许系统进入休眠;当应用程序执行release操作,则释放拦截休眠的申请。WakeLock机制之下,只有当系统发现所有的应用程序均未执行acquire操作时,才能够进入休眠。WakeLock机制的流程图如图I所示,当设备空闲时间超过预设时间,则判断是否存在应用程序执行acquire操作,如果存在则保持唤醒状态,如果不存在则进入休眠状态。但是WakeLock机制存在的缺点是,该休眠拦截接口易被某些恶意软件滥用,一些程序由于自身功能的不完善,甚至处于一些特定的业务目的,会长时间的阻止设备进入休目民,执行acquire操作之后不对其释放,从而导致了系统不能进入休眠状态,提高了设备的耗能,也违背了 WakeLock机制通过控制休眠来促进设备节电,增强电池续航能力的初衷。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种休眠拦截方法及系统,通过配置休眠拦截权限来阻止一部分程序对设备休眠的干涉,从而屏蔽了恶意程序阻止其执行acquire操作。为实现上述目的,有如下技术方案一种休眠拦截方法,根据用户指令为应用程序配置休眠拦截权限,则所述方法包括以下步骤当应用程序利用休眠拦截接口发出执行锁定操作和/或释放操作的指令时;判断发出指令的应用程序是否存在休眠拦截权限;如果存在则按照该应用程序发出的指令执行该操作,如果不存在则屏蔽该指令。所述为应用程序配置休眠拦截权限具体为仅为指定的程序配置休眠拦截权限,对未指定的程序不配置休眠拦截权限;或仅对指定的程序不配置休眠拦截权限,对未指定的程序配置休眠拦截权限。所述为指定的程序配置休眠拦截权限或对未指定的程序配置休眠拦截权限具体为生成一个配置文件,将需要配置休眠拦截权限的应用程序的名称标识写入一个XML格式的名单中,并将该名单写入所述配置文件。所述锁定操作和/或释放操作的指令中包含发出指令的应用程序的名称标识,则 所述判断发出指令的应用程序是否存在休眠拦截权限具体为 根据所述指令获取发出指令的应用程序的名称标识,并以该程序的名称标识与所述配置文件中写入需要配置休眠拦截权限的程序名称标识的名单进行对照;如果该名单中包含该程序的名称标识则认为该程序存在休眠拦截权限;如果该名单中不包含该程序的名称标识则认为该程序不存在休眠拦截权限。所述方法还包括判断系统空置时间是否达到预先设置的进入休眠时间;当空置时间达到进入休眠时间,则判断是否有应用程序执行了锁定操作;当任意程序执行了锁定操作,则系统保持唤醒状态;当没有程序执行锁定操作,则系统进入休眠。所述方法还包括当有程序执行锁定操作使系统保持唤醒状态时,设置一个判断周期时间,每隔判断周期时间重新判断是否有应用程序执行了锁定操作;如果存在则系统保持唤醒状态,直到不存在程序执行锁定操作,则系统进入休眠状态。一种休眠拦截系统,所述系统包括配置模块,用于根据用户指令为应用程序配置休眠拦截权限;权限模块,用于当应用程序利用休眠拦截接口发出执行锁定操作和/或释放操作的指令时;判断发出指令的应用程序是否存在休眠拦截权限;并生成判断权限结果;执行模块,用于获取所述判断权限结果,如果判断权限结果为存在休眠拦截权限,则按照该应用程序发出的指令执行该操作,如果判断权限结果为不存在休眠拦截权限,则屏蔽该指令。所述配置模块包括白名单单元和/或黑名单单元,具体为白名单单元,用于获得用户指定出的需要配置休眠拦截权限的程序,仅为指定的程序配置休眠拦截权限,对未指定的程序不配置休眠拦截权限;黑名单单元,用于获得用户指定出的不需要配置休眠拦截权限的程序,仅对指定的程序不配置休眠拦截权限,对未指定的程序配置休眠拦截权限。所述系统还包括空置时间模块,用于预先设置进入休眠时间,判断系统空置时间是否达到进入休眠时间,当达到进入休眠时间则触发锁定模块;锁定模块,用于在空置时间模块触发之下,判断是否有应用程序执行了锁定操作,生成判断操作结果;休眠控制模块,用于获取判断操作结果,当判断操作结果中显示任意程序执行了锁定操作,则系统保持唤醒状态;当没有程序执行锁定操作,则系统进入休眠。所述系统还包括循环模块,用于当有程序执行锁定操作使系统保持唤醒状态时,设置一个判断周期时间,每隔判断周期时间重新判断是否有应用程序执行了锁定操作;如果存在则系统保持唤醒状态,直到不存在程序执行锁定操作,则系统进入休眠状态。通过以上技术方案可知,本专利技术存在的有益效果是通过为应用程序配置休眠拦截权限,禁止了一部分不良程序执行锁定操作,避免了一些程序由于自身功能的不完善,甚至处于一些特定的业务目的,而长时间的阻止设备进入休眠;从而使得系统能够正常的进 入休眠状态,降低设备的耗电量,提高电池续航时间。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为现有技术中WakeLock机制流程示意图;图2为本专利技术实施例所述方法流程图;图3为本专利技术另一实施例所述方法流程图;图4为本专利技术实施例所述系统结构示意图;图5为本专利技术另一实施例所述系统结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参照图I所示,为本专利技术所述方法的一个具体实施例,本实施例中所述方法是基于WakeLock,也就是本实施例中同样是应用程序利用休眠拦截接口执行锁定操作或释放操作。应用程序在执行锁定操作以后,系统将无法进入休眠状态,应用程序也可以通过执行释放操作接触对系统的锁定;当没有任何一个应用程序执行锁本文档来自技高网...
【技术保护点】
一种休眠拦截方法,其特征在于,根据用户指令为应用程序配置休眠拦截权限,则所述方法包括以下步骤:当应用程序利用休眠拦截接口发出执行锁定操作和/或释放操作的指令时;判断发出指令的应用程序是否存在休眠拦截权限;如果存在则按照该应用程序发出的指令执行该操作,如果不存在则屏蔽该指令。
【技术特征摘要】
1.一种休眠拦截方法,其特征在于,根据用户指令为应用程序配置休眠拦截权限,则所述方法包括以下步骤 当应用程序利用休眠拦截接口发出执行锁定操作和/或释放操作的指令时;判断发出指令的应用程序是否存在休眠拦截权限; 如果存在则按照该应用程序发出的指令执行该操作,如果不存在则屏蔽该指令。2.根据权利要求I所述方法,其特征在于,所述为应用程序配置休眠拦截权限具体为 仅为指定的程序配置休眠拦截权限,对未指定的程序不配置休眠拦截权限; 或仅对指定的程序不配置休眠拦截权限,对未指定的程序配置休眠拦截权限。3.根据权利要求2所述方法,其特征在于,所述为指定的程序配置休眠拦截权限或对未指定的程序配置休眠拦截权限具体为 生成一个配置文件,将需要配置休眠拦截权限的应用程序的名称标识写入一个XML格式的名单中,并将该名单写入所述配置文件。4.根据权利要求3所述方法,其特征在于,所述锁定操作和/或释放操作的指令中包含发出指令的应用程序的名称标识,则所述判断发出指令的应用程序是否存在休眠拦截权限具体为 根据所述指令获取发出指令的应用程序的名称标识,并以该程序的名称标识与所述配置文件中写入需要配置休眠拦截权限的程序名称标识的名单进行对照; 如果该名单中包含该程序的名称标识则认为该程序存在休眠拦截权限;如果该名单中不包含该程序的名称标识则认为该程序不存在休眠拦截权限。5.根据权利要求1-4任意一项所述方法,其特征在于,所述方法还包括 判断系统空置时间是否达到预先设置的进入休眠时间; 当空置时间达到进入休眠时间,则判断是否有应用程序执行了锁定操作; 当任意程序执行了锁定操作,则系统保持唤醒状态;当没有程序执行锁定操作,则系统进入休眠。6.根据权利要求5所述方法,其特征在于,所述方法还包括 当有程序执行锁定操作使系统保持唤醒状态时,设置一个判断周期时间,每隔判断...
【专利技术属性】
技术研发人员:刘啸,苏勇,
申请(专利权)人:上海果壳电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。