智能终端待机状态检测方法及装置的制造方法

文档序号:9598128阅读:671来源:国知局
智能终端待机状态检测方法及装置的制造方法
【技术领域】
[0001]本发明实施例属于智能终端领域,尤其涉及一种智能终端待机状态检测方法及装置。
【背景技术】
[0002]目前,智能终端中的恶意软件数量越来越多,某国外著名机构统计,在目前安卓应用软件中就有17%的恶意软件。而安卓系统与1S相比,下载方式和渠道上要自由灵活的多,但是这种“自由”往往也伴随着一定的风险。例如,有些APP没有经过严格测试或是存在一些bug,若是能够轻易安装,则可能导致智能终端不能正常待机,从而导致智能终端的电池消耗过快。
[0003]现有的检测智能终端是否正常待机的方法通常为,判断智能终端的电流是否小于预设的阈值,进而判断该智能终端是否处于待机状态。但由于每个智能终端的待机电流并不相同,因此,导致判断结果存在一定的误差。

【发明内容】

[0004]本发明实施例提供了一种智能终端待机状态检测方法及装置,旨在解决现有方法在检测智能终端是否处于待机状态时准确率过低的问题。
[0005]本发明实施例是这样实现的,一种智能终端待机状态检测方法,所述方法包括:
[0006]获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量;
[0007]判断所述唤醒锁的数量是否为0 ;
[0008]在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态;
[0009]在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。
[0010]本发明实施例的另一目的在于提供一种智能终端待机状态检测装置,所述装置包括:
[0011]系统信息获取单元,用于获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量;
[0012]唤醒锁的数量判断单元,用于判断所述唤醒锁的数量是否为0 ;
[0013]待机状态判定单元,用于在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态;
[0014]非待机状态判定单元,用于在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。
[0015]在本发明实施例中,由于安卓系统的应用程序在运行过程中,需要获取唤醒锁和/或警报,而这一操作并不会受到智能终端个体差异的影响,因此,根据唤醒锁的数量和/或警报的数量能够准确判断出智能终端是否处于待机状态。
【附图说明】
[0016]图1是本发明第一实施例提供的一种智能终端待机状态检测方法的流程图;
[0017]图2是本发明第二实施例提供的一种智能终端待机状态检测装置的结构图。
【具体实施方式】
[0018]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0019]本发明实施例中,获取智能终端的系统信息,判断所述唤醒锁的数量是否为0,若所述唤醒锁的数量为0,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态,若所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。
[0020]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0021]实施例一:
[0022]图1示出了本发明第一实施例提供的一种智能终端待机状态检测方法的流程图,详述如下:
[0023]步骤S11,获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量。
[0024]其中,该步骤的唤醒锁(WakeLock)是指活动的唤醒锁,当存在活动的唤醒锁时,智能终端便无法进入待机状态。
[0025]在该步骤中,获取警报(Alarm)的数量时,也可以获取Alarm的类型,以判断该Alarm的类型是为唤醒CPU的类型,还是为不唤醒CPU的类型。
[0026]可选地,为了更快速地判断智能终端是否处于待机状态,在所述获取智能终端的系统信息之前,包括:
[0027]判断智能终端是否处于熄屏状态,以便在智能终端处于熄屏状态时,获取智能终端的系统信息。
[0028]当智能终端没有处于熄屏状态时,智能终端是不能进入待机状态的,因此,为了提高判断的速度及准确度,需要判断智能终端是否处于熄屏状态。
[0029]可选地,在所述获取智能终端的系统信息之前,包括:
[0030]判断智能终端是否插入USB接口,以便在智能终端没有插入USB接口时,获取智能终端的系统信息。由于智能终端在插入USB接口,比如,充电、传输数据时,智能终端是不能进入待机状态的,因此,只有在确定智能终端没有插入USB接口时才继续判断智能终端是否进入待机状态。当然,在判断智能终端是否插入USB接口时,还可以判断智能终端是否插入耳机线等,只有在判定出智能终端没有插入耳机线时才继续判断智能终端是否进入待机状态。
[0031]需要指出的是,判断智能终端是否插入USB接口这一步骤也可以在判断智能终端是否处于熄屏状态之前:当智能终端没有插入USB接口进行供电时,再判断智能终端是否处于熄屏状态。
[0032]步骤S12,判断所述唤醒锁的数量是否为0。
[0033]该步骤中,将获取的系统信息中的唤醒锁的数量与0比较。
[0034]步骤S13,在所述唤醒锁的数量为0时,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态。
[0035]该步骤中,当唤醒锁的数量为0且警报的数量也为0时,表明不存在程序阻止智能终端进入待机状态,此时,将智能终端的状态判定为待机状态。可选地,在唤醒锁的数量为0但警报的数量不为0,且警报的类型为能够唤醒CPU时,判定所述智能终端处于非待机状态。具体地,在警报的数量不为0时,判断对应的警报的类型是否为能够唤醒CPU的类型,若是,进一步地,由于唤醒CPU的频率不高时,所耗费的电量有限,因此,在判断出警报的类型为能够唤醒CPU的类型时,继续判断唤醒CPU的频率是否大于预设的频率阈值(如1分钟),若小于,则判定智能终端处于待机状态,否则,判定智能终端处于非待机状态。
[0036]步骤S14,在所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。
[0037]该步骤中,只要判断出活动的唤醒锁的数量不为0,表明有应用程序获取了唤醒锁,此时判定智能终端处于非待机状态。由于智能终端的应用程序在运行时,需要获取唤醒锁,因此,通过判断唤醒锁的数量是否为0就能准确判断出智能终端是否处于待机状态。
[0038]可选地,当判断出智能终端处于非待机状态之后,需要进一步检测智能终端不能进入待机状态的原因,则在所述判定所述智能终端处于非待机状态之后,包括:
[0039]A1、获取进程标识符PID ;所述进程为拥有唤醒锁的进程。应用程序运行过程中将对应唯一的进程标识符PID (Process Identificat1n),当判断出智能终端处于非待机状态之后,获取活动的唤醒锁对应的PID。
[0040]A2、根据所述PID查找对应的应用的信息。这里的应用的信息包括:应用程序的名称、包名等。由于一个PID对应一个应用程序,因此,根据PID能够查找到对应的应用的信息。
[0041]A3、将查找到的应用的信息上传至服务器。这里的服务器包括本地服务器和云服务器,将查找到的应用的信息上传至服务器,方便程序员根据上传的应用的信息判断智能终端不能进入待机状态的原因。进一步地,程序员解决应用程序的bug,并把修复好的应用程序提交到服务器,智能终端根据更新提醒,自动从服务器下载修复好的应用程序,并替换原有的应用程序,以从根本上解决电池耗电量过多的问题。
[0042]进一步地,在所述根据所述PID查找对应的应用的信息之后,包括:
[0043]显示智能终端没有进入待机状态的提醒消息,所述提醒消息包括根据所述PID查找的应用的信息。
[0044]可选地,为了节约电量,在所述判定所述智能终端处于非待机状态之后,包括:
[0045]强制释放活动的唤醒锁,和/或,强制释放Alarm(或强制将Alarm的类型修改为不能唤醒CPU的类型)。由于通过强制释放活动的唤醒锁和/或强制释放Alarm,使得智能终端强制进入待机状态,因此,节约了电池的电量,从而提高电池的续航能力。
[0046]本发明第一实施例中,获取智能终端的系统信息,判断所述唤醒锁的数量是否为0,若所述唤醒锁的数量为0,判断警报的数量是否为0,并在警报的数量为0时,判定所述智能终端处于待机状态,若所述唤醒锁的数量不为0时,判定所述智能终端处于非待机状态。由于安卓系统的应用程序在运行过程中,需要获取唤醒锁和/或警报,而这一操作并不会受到智能终端个体差异的影响,因此,根据唤醒锁的数量和/或警报的数量能够准确判断出智能终端是否处于待机状态。
[0047]应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0048]实施例二:
[0049]图2示出了本发明第二实施例提供的一种智能终端待机状态检测装置的结构图,该智能终端待机状态检测装置可应用于智能终端中,该智能终端可以包括经无线接入网RAN与一个或多个核心网进行通信的用户设备,该用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动设备的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。又例如,该移动设备可以包括智能手机、平板电脑、个人数字助理PDA、销售终端P0S或车载电脑等。为了便于说明,仅示出了与本发明实施例相关的部分。
[0050]该智能终端待机状态检测装置包括:系统信息获取单元21、唤醒锁的数量判断单元22、待机状态判定单元23、非待机状态判定单元24。其中:
[0051]系统信息获取单元21,用于获取智能终端的系统信息,所述系统信息包括唤醒锁的数量和警报的数量。
[0052]其中,唤醒锁(WakeLock)是指活动的唤醒锁,当存在活动的唤醒锁时,智能终端便无法进入待机状态。
[0053]具体地,在获取警报(Alarm)的数量时,也可以获取Alarm的类型,以判断该Alarm的类型是为唤醒CPU的类型,还是为不唤醒
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1