本发明专利技术适用于智能终端领域,提供了一种智能终端待机状态检测方法及装置,所述方法包括:获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量;判断所述唤醒锁的数量是否为0;在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态;在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。所述方法包括:本发明专利技术实施例能够提高判断智能终端是否处于待机状态的准确率。
【技术实现步骤摘要】
本专利技术实施例属于智能终端领域,尤其涉及一种智能终端待机状态检测方法及装置。
技术介绍
目前,智能终端中的恶意软件数量越来越多,某国外著名机构统计,在目前安卓应用软件中就有17%的恶意软件。而安卓系统与1S相比,下载方式和渠道上要自由灵活的多,但是这种“自由”往往也伴随着一定的风险。例如,有些APP没有经过严格测试或是存在一些bug,若是能够轻易安装,则可能导致智能终端不能正常待机,从而导致智能终端的电池消耗过快。现有的检测智能终端是否正常待机的方法通常为,判断智能终端的电流是否小于预设的阈值,进而判断该智能终端是否处于待机状态。但由于每个智能终端的待机电流并不相同,因此,导致判断结果存在一定的误差。
技术实现思路
本专利技术实施例提供了一种智能终端待机状态检测方法及装置,旨在解决现有方法在检测智能终端是否处于待机状态时准确率过低的问题。本专利技术实施例是这样实现的,一种智能终端待机状态检测方法,所述方法包括:获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量;判断所述唤醒锁的数量是否为0 ;在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态;在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。本专利技术实施例的另一目的在于提供一种智能终端待机状态检测装置,所述装置包括:系统信息获取单元,用于获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量;唤醒锁的数量判断单元,用于判断所述唤醒锁的数量是否为0 ;待机状态判定单元,用于在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态;非待机状态判定单元,用于在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。在本专利技术实施例中,由于安卓系统的应用程序在运行过程中,需要获取唤醒锁和/或警报,而这一操作并不会受到智能终端个体差异的影响,因此,根据唤醒锁的数量和/或警报的数量能够准确判断出智能终端是否处于待机状态。【附图说明】图1是本专利技术第一实施例提供的一种智能终端待机状态检测方法的流程图;图2是本专利技术第二实施例提供的一种智能终端待机状态检测装置的结构图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例中,获取智能终端的系统信息,判断所述唤醒锁的数量是否为0,若所述唤醒锁的数量为0,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态,若所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一:图1示出了本专利技术第一实施例提供的一种智能终端待机状态检测方法的流程图,详述如下:步骤S11,获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量。其中,该步骤的唤醒锁(WakeLock)是指活动的唤醒锁,当存在活动的唤醒锁时,智能终端便无法进入待机状态。在该步骤中,获取警报(Alarm)的数量时,也可以获取Alarm的类型,以判断该Alarm的类型是为唤醒CPU的类型,还是为不唤醒CPU的类型。可选地,为了更快速地判断智能终端是否处于待机状态,在所述获取智能终端的系统信息之前,包括:判断智能终端是否处于熄屏状态,以便在智能终端处于熄屏状态时,获取智能终端的系统信息。当智能终端没有处于熄屏状态时,智能终端是不能进入待机状态的,因此,为了提高判断的速度及准确度,需要判断智能终端是否处于熄屏状态。可选地,在所述获取智能终端的系统信息之前,包括:判断智能终端是否插入USB接口,以便在智能终端没有插入USB接口时,获取智能终端的系统信息。由于智能终端在插入USB接口,比如,充电、传输数据时,智能终端是不能进入待机状态的,因此,只有在确定智能终端没有插入USB接口时才继续判断智能终端是否进入待机状态。当然,在判断智能终端是否插入USB接口时,还可以判断智能终端是否插入耳机线等,只有在判定出智能终端没有插入耳机线时才继续判断智能终端是否进入待机状态。需要指出的是,判断智能终端是否插入USB接口这一步骤也可以在判断智能终端是否处于熄屏状态之前:当智能终端没有插入USB接口进行供电时,再判断智能终端是否处于熄屏状态。步骤S12,判断所述唤醒锁的数量是否为0。该步骤中,将获取的系统信息中的唤醒锁的数量与0比较。步骤S13,在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态。该步骤中,当唤醒锁的数量为0且警报的数量也为0时,表明不存在程序阻止智能终端进入待机状态,此时,将智能终端的状态判定为待机状态。可选地,在唤醒锁的数量为0但警报的数量不为0,且警报的类型为能够唤醒CPU时,判定所述智能终端处于非待机状态。具体地,在警报的数量不为0时,判断对应的警报的类型是否为能够唤醒CPU的类型,若是,进一步地,由于唤醒CPU的频率不高时,所耗费的电量有限,因此,在判断出警报的类型为能够唤醒CPU的类型时,继续判断唤醒CPU的频率是否大于预设的频率阈值(如1分钟),若小于,则判定智能终端处于待机状态,否则,判定智能终端处于非待机状态。步骤S14,在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。该步骤中,只要判断出活动的唤醒锁的数量不为0,表明有应用程序获取了唤醒锁,此时判定智能终端处于非待机状态。由于智能终端的应用程序在运行时,需要获取唤醒锁,因此,通过判断唤醒锁的数量是否为0就能准确判断出智能终端是否处于待机状态。可选地,当判断出智能终端处于非待机状态之后,需要进一步检测智能终端不能进入待机状态的原因,则在所述判定所述智能终端处于非待机状态之后,包括:A1、获取进程标识符PID ;所述进程为拥有唤醒锁的进程。应用程序运行过程中将对应唯一的进程标识符PID (Process Identificat1n),当判断出智能终端处于非待机状态之后,获取活动的唤醒锁对应的PID。A2、根据所述PID查找对应的应用的信息。这里的应用的信息包括:应用程序的名称、包名等。由于一个PID对应一个应用程序,因此,根据PID能够查找到对应的应用的信息。A3、将查找到的应用的信息上传至服务器。这里的服务器包括本地服务器和云服务器,将查找到的应用的信息上传至服务器,方便程序员根据上传的应用的信息判断智能终端不能进入待机状态的原因。进一步地,程序员解决应用程序的bug,并把修复好的应用程序提交到服务器,智能终端根据更新提醒,自动从服务器下载修复好的应用程序,并替换原有的应用程序,以从根本上解决电池耗电量过多的问题。进一步地,在所述根据所述PID查找对应的应用的信息之后,包括:显示智能终端没有进入待机状态的提醒消息,所述提醒消息包括根据所述PID查找的应用的信息。可选地,为了节约电量,在所述判定所述智能终端处于非待机状态之后,包括:强制释放活动的唤醒锁,和/或,强制释放Alarm(或强制将Alarm的类型修改为不能唤醒CPU的类型)。由于通过强制释放活动的唤醒锁和/或强制释放Ala本文档来自技高网...
【技术保护点】
一种智能终端待机状态检测方法,其特征在于,所述方法包括:获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量;判断所述唤醒锁的数量是否为0;在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态;在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。
【技术特征摘要】
【专利技术属性】
技术研发人员:邓瑞军,
申请(专利权)人:广东小天才科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。