设备控制方法及装置与流程

文档序号:14119652阅读:260来源:国知局
设备控制方法及装置与流程

本公开涉及电子技术领域,尤其涉及一种设备控制方法及装置。



背景技术:

随着互联网技术的快速发展,用户常在移动设备,例如智能手机、平板电脑中安装各种应用(application,app)以实现各种应用功能,随之而来的问题是即使用户关闭设备屏幕,不对设备执行任何操作,移动设备的电量也会因为有app需要推送消息而申请唤醒锁,进而导致系统不能休眠,电量消耗也会很快,大大缩短了设备的续航时间。



技术实现要素:

为克服相关技术中存在的问题,本公开实施例提供一种设备控制方法及装置,用以延长移动设备的续航时间。

根据本公开实施例的第一方面,提供一种设备控制方法,包括:

确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件;

如果所述申请统计信息满足预设条件,则执行停止运行第一类程序中预设个数的程序的操作。

在一实施例中,确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件,包括:

获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁申请数量;

确定所述申请数量是否大于预设数量;

如果所述申请数量大于预设数量,则确定所述第一类程序的申请统计信息满足预设条件;

如果所述申请数量不大于预设数量,则确定所述第一类程序的申请统计信息不满足预设条件。

在一实施例中,执行停止运行第一类程序中预设个数的程序的操作,包括:

确定所述第一类程序中每一个程序对应的唤醒锁申请数量;

基于所述每一个程序对应的唤醒锁申请数量,将所述每一个程序按照申请数量进行从大到小的排序;

停止运行排名最前的预设个数的程序。

在一实施例中,确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件,包括:

获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁持有时间;

确定所述唤醒锁持有时间是否大于预设时间;

如果所述唤醒锁持有时间大于预设时间,则确定所述第一类程序的申请统计信息满足预设条件;

如果所述唤醒锁持有时间不大于预设时间,则确定所述第一类程序的申请统计信息不满足预设条件。

在一实施例中,执行停止运行第一类程序中预设个数的程序的操作,包括:

确定所述第一类程序中每一个程序对应的唤醒锁持有时间;

基于所述每一个程序对应的唤醒锁持有时间,将所述每一个程序按照唤醒锁持有时间进行从大到小的排序;

停止运行排名最前的预设个数的程序。

在一实施例中,方法还包括:

确定所述预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;

通过查询程序白名单确定申请唤醒锁的非内核层的程序是否为第二类程序,所述程序白名单用于记录第二类预设的标识信息;

如果所述申请唤醒锁的程序不是第二类程序,则确定所述申请唤醒锁的非内核层的程序为第一类程序。

在一实施例中,方法还包括:

统计第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

生成唤醒锁应用提示信息,所述唤醒锁应用提示信息包括所述每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

接收用户根据所述唤醒锁应用提示信息输入的反馈信息;

根据所述反馈信息,更新所述程序白名单。

在一实施例中,方法还包括:

统计第二预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

向服务器发送唤醒锁应用指示消息,所述唤醒锁应用指示消息携带有所述每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

接收所述服务器根据所述第二预设时间段内接收到的所有设备发送的唤醒锁应用指示消息确定的程序白名单;

基于所述接收到的所述程序白名单更新本地存储的程序白名单。

在一实施例中,方法还包括:

在屏幕关闭时,设置一个预设时间阈值长度的定时器;

通过确定所述定时器是否超时确定所述关闭屏幕的时间是否超过预设时间阈值,基于所述预设时间阈值执行所述确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件的操作。

根据本公开实施例的第二方面,提供一种设备控制装置,可包括:

第一确定模块,被配置为确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件;

停止运行模块,被配置为在所述第一确定模块确定所述申请统计信息满足预设条件时,执行停止运行第一类程序中预设个数的程序的操作。

在一实施例中,第一确定模块包括:

第一获取子模块,被配置为获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁申请数量;

第一确定子模块,被配置为确定所述第一获取子模块确定的所述申请数量是否大于预设数量;

第二确定子模块,被配置为在所述第一确定子模块确定所述申请数量大于预设数量时,确定所述第一类程序的申请统计信息满足预设条件;

第三确定子模块,被配置为在所述第一确定子模块确定所述申请数量不大于预设数量时,确定所述第一类程序的申请统计信息不满足预设条件。

在一实施例中,停止运行模块包括:

第二获取子模块,被配置为确定所述第一类程序中每一个程序对应的唤醒锁申请数量;

第一排序子模块,被配置为基于所述第二获取子模块确定的所述每一个程序对应的唤醒锁申请数量,将所述每一个程序按照申请数量进行从大到小的排序;

第一停止子模块,被配置为停止运行排名最前的预设个数的程序。

在一实施例中,第一确定模块包括:

第三获取子模块,被配置为获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁持有时间;

第四确定子模块,被配置为确定所述第三获取子模块获取的所述唤醒锁持有时间是否大于预设时间;

第五确定子模块,被配置为在所述第四确定子模块确定所述唤醒锁持有时间大于预设时间时,确定所述第一类程序的申请统计信息满足预设条件;

第六确定子模块,被配置为在所述第四确定子模块确定所述唤醒锁持有时间不大于预设时间时,确定所述第一类程序的申请统计信息不满足预设条件。

在一实施例中,停止运行模块包括:

第四获取子模块,被配置为确定所述第一类程序中每一个程序对应的唤醒锁持有时间;

第二排序子模块,被配置为基于所述第四获取子模块获取的所述每一个程序对应的唤醒锁持有时间,将所述每一个程序按照唤醒锁持有时间进行从大到小的排序;

第二停止子模块,被配置为停止运行排名最前的预设个数的程序。

在一实施例中,装置还包括:

程序标识确定模块,被配置为确定所述预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;

查询模块,被配置为通过查询程序白名单确定所述程序标识确定模块确定的所述申请唤醒锁的非内核层的程序是否为第二类程序,所述程序白名单用于记录第二类预设的标识信息;

第二确定模块,被配置为在所述查询模块确定所述申请唤醒锁的非内核层的程序不是第二类程序时,确定所述申请唤醒锁的程序为第一类程序。

在一实施例中,装置还包括:

第一统计模块,被配置为统计第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

提示模块,被配置为生成唤醒锁应用提示信息,所述唤醒锁应用提示信息包括所述第一统计模块统计的所述每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

第一接收模块,被配置为接收用户根据所述提示模块生成的所述唤醒锁应用提示信息输入的反馈信息;

第一更新模块,被配置为根据所述第一接收模块接收到的所述反馈信息,更新所述程序白名单。

在一实施例中,装置还包括:

第二统计模块,被配置为统计第二预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

发送模块,被配置为向服务器发送唤醒锁应用指示消息,所述唤醒锁应用指示消息携带有所述第二统计模块统计得到的所述每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

第二接收模块,被配置为接收所述服务器根据所述第二预设时间段内接收到的所有设备发送的唤醒锁应用指示消息确定的程序白名单;

第二更新模块,被配置为基于所述第二接收模块接收到的所述程序白名单更新本地存储的程序白名单。

在一实施例中,装置还包括:

定时模块,被配置为在屏幕关闭时,设置一个预设时间阈值长度的定时器;

第三确定模块,被配置为通过确定所述定时模块设置的所述定时器是否超时确定所述关闭屏幕的时间是否超过预设时间阈值,基于所述预设时间阈值执行所述确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件的操作。

根据本公开实施例的第三方面,提供一种设备控制装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件;

如果所述申请统计信息满足预设条件,则执行停止运行第一类程序中预设个数的程序的操作。

本公开的实施例提供的技术方案可以包括以下有益效果:

在屏幕关闭时起的预设时间阈值内统计申请唤醒锁的第一类程序的申请统计信息,如申请数量和唤醒锁的持有时间,并在申请唤醒锁的第一类程序的申请统计信息满足预设条件时,例如第一类程序申请唤醒锁的申请数量超过预设数量时,停止运行唤醒锁申请数量较多的程序,由此可以减少在屏幕关闭期间第一类程序申请唤醒锁的申请数量和持有时间,大大降低屏幕关闭时的设备功耗,延长设备续航时间。

并且,通过在第一类程序的申请数量超过预设数量时,将第一类程序中每一个程序按照唤醒锁申请数量进行排序,并且停止运行排序最前的预设个数的程序,可以减少唤醒锁的申请数量,降低屏幕关闭时的设备功耗,延长设备续航时间。

通过在第一类程序的唤醒锁持有时间超过预设时间时,将第一类程序中每一个程序按照唤醒锁持有时间进行排序,并且停止运行排序最前的预设个数的程序,可以缩短唤醒锁持有时间,降低屏幕关闭时的设备功耗,延长设备续航时间。

通过查询程序白名单可以确定申请唤醒锁的非内核层的程序是否为第二类程序,如果不是第二类程序,则说明是第一类程序,其中第二类程序为设备关闭屏幕期间被允许申请唤醒锁的程序,由此可以实现通过对第一类程序进行唤醒锁的申请限制来降低屏幕关闭时的设备功耗。

通过将第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间推送给用户,可以由用户确定程序白名单中包括哪些程序,提高了用户的体验。

通过将第二预设时间段内的每一个程序申请唤醒锁的次数和持有唤醒锁的时间推送给服务器,可以让服务器结合在第二预设时间段内接收到的所有设备内的程序申请唤醒锁的次数和持有唤醒锁的时间,并且基于这些数据确定程序白名单,结合多个设备的申请唤醒锁的次数和持有唤醒锁的时间所确定的程序白名单的参考性更强。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的设备控制方法的流程图。

图2a是根据一示例性实施例一示出的设备控制方法的流程图一。

图2b是根据一示例性实施例二示出的设备控制方法的流程图二。

图3是根据一示例性实施例三示出的确定程序是否为第一类程序的流程图。

图4a是根据一示例性实施例四示出的更新程序白名单的方法的流程图一。

图4b是根据一示例性实施例四示出的更新程序白名单的方法的示意图。

图5是根据一示例性实施例五示出的更新程序白名单的方法的流程图二。

图6是根据一示例性实施例示出的一种设备控制装置的框图。

图7是根据一示例性实施例示出的另一种设备控制装置的框图。

图8是根据一示例性实施例示出的又一种设备控制装置的框图。

图9是根据一示例性实施例示出的一种适用于设备控制装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的设备控制方法的流程图;该设备控制方法可以应用在移动设备,如智能手机、平板电脑上,如图1所示,该设备控制方法包括以下步骤101-102:

在步骤101中,确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件。

在一实施例中,第一类程序为非内核层的除第二类程序以外的程序,如微信、微博;在又一实施例中,第二类程序为设备允许在屏幕关闭时申请唤醒锁的程序,可以添加至程序白名单中,例如:手机管家等。

在一实施例中,申请统计信息可以为唤醒锁申请数量、持有时间等。

在一实施例中,可以通过在屏幕关闭时设置一个预设时间阈值长度的定时器,如果定时器超时,则可确定关闭屏幕的时间超过预设时间阈值。

在一实施例中,预设时间阈值可以为一个30秒钟、1分钟等的时间间隔,预设时间阈值可以由系统设定。

在一实施例中,屏幕关闭时,可以通过电源管理服务模块执行统计唤醒锁申请信息的操作。

在一实施例中,可以由用户按关机的物理按键触发关闭屏幕;在又一实施例中,还可以在长时间没有接收到用户的操作时自动关闭屏幕。

在步骤102中,如果申请统计信息满足预设条件,则执行停止运行第一类程序中预设个数的程序的操作。

在一实施例中,执行停止运行第一类程序中预设个数的程序的操作可参见图2a和图2b实施例,这里先不详述。

本实施例中,在屏幕关闭时起的预设时间阈值内统计申请唤醒锁的第一类程序的申请统计信息,如申请数量和唤醒锁的持有时间,并在申请唤醒锁的第一类程序的申请统计信息满足预设条件时,例如第一类程序申请唤醒锁的申请数量超过预设数量时,停止运行唤醒锁申请数量较多的程序,由此可以减少在屏幕关闭期间第一类程序申请唤醒锁的申请数量和持有时间,大大降低屏幕关闭时的设备功耗,延长设备续航时间。

在一实施例中,确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件,包括:

获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁申请数量;

确定申请数量是否大于预设数量;

如果申请数量大于预设数量,则确定第一类程序的申请统计信息满足预设条件;

如果申请数量不大于预设数量,则确定第一类程序的申请统计信息不满足预设条件。

在一实施例中,执行停止运行第一类程序中预设个数的程序的操作,包括:

确定第一类程序中每一个程序对应的唤醒锁申请数量;

基于每一个程序对应的唤醒锁申请数量,将每一个程序按照申请数量进行从大到小的排序;

停止运行排名最前的预设个数的程序。

在一实施例中,确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件,包括:

获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁持有时间;

确定唤醒锁持有时间是否大于预设时间;

如果唤醒锁持有时间大于预设时间,则确定第一类程序的申请统计信息满足预设条件;

如果唤醒锁持有时间不大于预设时间,则确定第一类程序的申请统计信息不满足预设条件。

在一实施例中,执行停止运行第一类程序中预设个数的程序的操作,包括:

确定第一类程序中每一个程序对应的唤醒锁持有时间;

基于每一个程序对应的唤醒锁持有时间,将每一个程序按照唤醒锁持有时间进行从大到小的排序;

停止运行排名最前的预设个数的程序。

在一实施例中,方法还包括:

确定预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;

通过查询程序白名单确定申请唤醒锁的非内核层的程序是否为第二类程序,程序白名单用于记录第二类预设的标识信息;

如果申请唤醒锁的程序不是第二类程序,则确定申请唤醒锁的非内核层的程序为第一类程序。

在一实施例中,方法还包括:

统计第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

生成唤醒锁应用提示信息,唤醒锁应用提示信息包括每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

接收用户根据唤醒锁应用提示信息输入的反馈信息;

根据反馈信息,更新程序白名单。

在一实施例中,方法还包括:

统计第二预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

向服务器发送唤醒锁应用指示消息,唤醒锁应用指示消息携带有每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

接收服务器根据第二预设时间段内接收到的所有设备发送的唤醒锁应用指示消息确定的程序白名单;

基于接收到的程序白名单更新本地存储的程序白名单。

在一实施例中,方法还包括:

在屏幕关闭时,设置一个预设时间阈值长度的定时器;

通过确定定时器是否超时确定关闭屏幕的时间是否超过预设时间阈值,基于预设时间阈值执行确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件的操作。

具体如何通过预设程序对唤醒锁进行限定申请进而延长移动设备续航时间的,请参考后续实施例。

至此,本公开实施例提供的上述方法,可以减少持有唤醒锁的程序的数量和时间,大大降低设备功耗,延长设备续航时间。

图2a是根据一示例性实施例一示出的设备控制方法的流程图一,图2b是根据一示例性实施例二示出的设备控制方法的流程图二;本实施例利用本公开实施例提供的上述方法,分别以如何通过唤醒锁申请数量和唤醒锁持有时间来控制设备关闭屏幕时唤醒锁的申请进为例行示例性说明,如图2a所示,为根据唤醒锁申请数量实现唤醒锁申请控制的流程,包括如下步骤:

在步骤201中,获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁申请数量。

在一实施例中,可通过电源管理服务模块记录在屏幕关闭时起的预设时间阈值内每一个第一类程序申请唤醒锁的信息,包括申请数量、每次持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到),例如,在预设时间阈值内第一类程序申请唤醒锁的申请数量为15次。

在一实施例中,可通过图3实施例确定申请唤醒锁的程序是否为第一类程序,这里先不详述。

在步骤202中,确定申请数量是否大于预设数量,如果申请数量大于预设数量,则执行步骤204,如果申请数量不大于预设数量,则执行步骤203。

在一实施例中,预设数量可以为一个5个、10等的数值。

在步骤203中,确定第一类程序的申请统计信息不满足预设条件,流程结束。

在步骤204中,确定第一类程序的申请统计信息满足预设条件,执行步骤205。

在步骤205中,确定第一类程序中每一个程序对应的唤醒锁申请数量。

在一实施例中,可通过电源管理服务模块记录在屏幕关闭时起的预设时间阈值内每一个第一类程序申请唤醒锁的信息,包括申请数量、每次持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到),例如,微信应用程序在预设时间阈值内申请唤醒锁3次,微博应用程序在预设时间阈值内申请唤醒锁3次,腾讯应用程序在预设时间阈值内申请唤醒锁5次,天天果园应用程序在预设时间阈值内申请唤醒锁1次,京东商城应用程序在预设时间阈值内申请唤醒锁2次,第一类程序总的唤醒次数为14次。

在步骤206中,基于每一个程序对应的唤醒锁申请数量,将每一个程序按照申请数量进行从大到小的排序。

在一实施例中,按照从大到小进行排序,可以将申请数量最多的排在前面,以步骤205中的举例进行示意,排序为:腾讯、微信、微博、京东商城、天天果园。其中如果申请数量相同,则可以结合持有时间进行排序,例如微信和微博都是申请了三次,则可确定微信和微博持有唤醒锁的时间,将持有时间长的应用程序排在前面。

在步骤207中,停止运行排名最前的预设个数的程序。

在一实施例中,预设个数可以为一个定值,由系统设定,例如为3个;在又一实施例中,预设个数可以由第一类程序的总申请数量和预设数量的差值确定,例如第一类程序的总申请数量为14个,预设数量为6个,则申请数量超出8个,则可停止运行排名靠前的程序,停止运行的程序的申请数量和不能小于8个。

如图2b所示,为根据唤醒锁持有时间实现唤醒锁申请控制的流程,包括如下步骤:

在步骤211中,获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁持有时间。

在一实施例中,可通过电源管理服务模块记录在屏幕关闭时起的预设时间阈值内每一个第一类程序申请唤醒锁的信息,包括申请数量、每次持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到),例如,在预设时间阈值内第一类程序申请唤醒锁的持有时间为600秒钟。

在一实施例中,可通过图3实施例确定申请唤醒锁的程序是否为第一类程序,这里先不详述。

在步骤212中,确定唤醒锁持有时间是否大于预设时间,如果唤醒锁持有时间大于预设时间,则执行步骤214,如果唤醒锁持有时间不大于预设时间,则执行步骤213。

在一实施例中,预设时间可以为一个5分钟、10分钟等的数值。

在步骤213中,确定第一类程序的申请统计信息不满足预设条件,流程结束。

在步骤214中,确定第一类程序的申请统计信息满足预设条件,执行步骤215。

在步骤215中,确定第一类程序中每一个程序对应的唤醒锁持有时间。

在一实施例中,可通过电源管理服务模块记录在屏幕关闭时起的预设时间阈值内每一个第一类程序申请唤醒锁的信息,包括申请数量、持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到每一次唤醒锁的持有时间),例如,微信应用程序在预设时间阈值内持有唤醒锁120秒钟。

在步骤216中,基于每一个程序对应的唤醒锁持有时间,将每一个程序按照唤醒锁持有时间进行从大到小的排序。

在一实施例中,按照从大到小进行排序,可以将持有时间最长的排在前面,如果持有时间相同,则可以结合申请数量进行排序,在持有时间相同时,将申请数量多的排在前面。

在步骤217中,停止运行排名最前的预设个数的程序。

在一实施例中,预设个数可以为一个定值,由系统设定,例如为3个;在又一实施例中,预设个数可以由第一类程序的唤醒锁持有时间和预设时间的差值确定,例如第一类程序的唤醒锁持有时间为240秒钟,预设时间为120秒,则持有时间超过120秒,则可停止运行排名靠前的程序,停止运行的程序的持有时间不能少于120秒。

在一实施例中,还可以综合考虑每个成的申请数量和持有时间进行排序,例如根据程序的申请数量计算一个分数,根据程序持有时间计算一个分数,两个分数权重相加作为这个程序的唤醒锁得分,得分高的排序在前面;在一实施例中,申请数量得分和持有时间得分的权重系数可以由系统自行设定。例如:微信申请数量5次,总持有时间30秒;微博申请数量3次,总持有时间50秒,第一类程序的总申请数量为15次,总持有时间为120秒,则微信申请数量得分5/15*100=33分,微信持有时间得分30/120*100=25分,微博申请数量得分3/15*100=20分,微博持有时间得分50/120*100=41.7分,如果申请数量得分和持有时间得分的权重系数都为0.5,则微信的唤醒锁得分为29分,微博的唤醒锁得分为30.85分,则微博排序在前面。

本实施例中,通过在第一类程序的申请数量超过预设数量时,将第一类程序中每一个程序按照唤醒锁申请数量进行排序,并且停止运行排序最前的预设个数的程序;此外,还可通过在第一类程序的唤醒锁持有时间超过预设时间时,将第一类程序中每一个程序按照唤醒锁持有时间进行排序,并且停止运行排序最前的预设个数的程序,可以缩短唤醒锁持有时间,降低屏幕关闭时的设备功耗,延长设备续航时间。

图3是根据一示例性实施例三示出的确定程序是否为第一类程序的流程图;本实施例利用本公开实施例提供的上述方法,以如何确定程序为第一类程序为例进行示例性说明,如图3所示,包括如下步骤:

在步骤301中,确定预设时间阈值内申请唤醒锁的非内核层的程序的标识信息。

在一实施例中,程序的标识信息可以为程序名称,例如微信、微博等;在又一实施例中,程序的标识信息还可以为其他能够标识程序的信息。

在步骤302中,通过查询程序白名单确定申请唤醒锁的非内核层的程序是否为第二类程序,程序白名单用于记录第二类预设的标识信息。

在一实施例中,程序白名单可以由电源管理服务模块设定,并且在关闭屏幕的时间超过预设时间阈值时,电源管理服务模块根据程序白名单执行确定申请唤醒锁的程序是否为预设程序的操作。

在一实施例中,程序白名单可以通过图4a和图5的方式进行更新,这里先不详述。

在步骤303中,如果申请唤醒锁的非内核层的程序不是第二类程序,则确定申请唤醒锁的程序为第一类程序。

图4a是根据一示例性实施例四示出的更新程序白名单的方法的流程图一,图4b是根据一示例性实施例四示出的更新程序白名单的方法的示意图;本实施例利用本公开实施例提供的上述方法,以如何更新程序白名单为例进行示例性说明,如图4a所示,包括如下步骤:

在步骤401中,统计第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间。

在一实施例中,可以以用户每次安装一个新的应用程序的时间点开始,在每次安装一个新的应用程序的时间点开始的第一预设时间段内(例如,一周内),对移动设备关闭屏幕超过预设时间阈值之后每一个程序申请唤醒锁的次数和持有唤醒锁的时间进行统计。

在又一实施例中,还可以在用户使用移动设备的期间,统计每个第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间。

在步骤402中,生成唤醒锁应用提示信息,唤醒锁应用提示信息包括每一个程序申请唤醒锁的次数和持有唤醒锁的时间。

在一实施例中,在用户打开屏幕时,可向用户推送唤醒锁应用提示信息,例如,在通知栏推送通知消息,通知在一天内每个应用程序申请唤醒锁的次数和持有唤醒锁的时间,例如显示图4b所示的通知栏消息,其中显示了每个应用程序或者服务程序申请唤醒锁的次数和持有唤醒锁的时间,并且还可以提供对应程序在关闭屏幕的时间段内的耗电信息。

在一实施例中,图4b中还可以显示类似“添加至白名单”或者“添加至黑名单”的信息,在一实施例中,“添加至黑名单”用于表示不允许程序在关闭屏幕后申请唤醒锁。

在步骤403中,接收用户根据唤醒锁应用提示信息输入的反馈信息。

在一实施例中,用户可以根据唤醒锁应用提示信息输入反馈信息,例如,在微信程序的唤醒锁信息条目上点击,选择将微信程序设置为拒绝申请唤醒锁的程序或者将其添加至程序白名单中,根据用户的操作可以输入对应的反馈信息。

在步骤404中,根据反馈信息,更新程序白名单。

在一实施例中,可根据用户输入的反馈信息,例如如果接收到“将微信程序添加至程序白名单中”的反馈信息,则可将微信程序添加至程序白名单中,也即允许微信程序在关闭屏幕后申请唤醒锁。

本实施例中,通过将第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间推送给用户,可以由用户确定程序白名单中包括哪些程序,提高了用户的体验。

图5是根据一示例性实施例五示出的更新程序白名单的方法的流程图二;本实施例利用本公开实施例提供的上述方法,以如何更新程序白名单为例进行示例性说明,如图5所示,包括如下步骤:

在步骤501中,统计第二预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间。

在一实施例中,可以以用户每次安装一个新的应用程序的时间点开始,在每次安装一个新的应用程序的时间点开始的第二预设时间段内(例如,一周内),对移动设备关闭屏幕超过预设时间阈值之后每一个程序申请唤醒锁的次数和持有唤醒锁的时间进行统计。

在又一实施例中,还可以在用户使用移动设备的期间,统计每个第二预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间。

在步骤502中,向服务器发送唤醒锁应用指示消息,唤醒锁应用指示消息携带有每一个程序申请唤醒锁的次数和持有唤醒锁的时间。

在步骤503中,接收服务器根据第二预设时间段内接收到的所有设备发送的唤醒锁应用指示消息确定的程序白名单。

在一实施例中,服务器可根据第二预设时间段内接收到的唤醒锁应用指示消息确定每种程序最近申请唤醒锁的次数和持有唤醒锁的时间,进而确定出适合申请唤醒锁的程序,例如申请唤醒锁的次数和持有唤醒锁的时间都不是太多的程序。

在一实施例中,由于每一个移动设备中运行的程序并不完全相同,因此可根据每一个移动设备发送的唤醒锁应用指示消息确定对应的移动设备中运行的程序,然后向移动设备返回对应的程序白名单,例如:如果移动设备a发送的唤醒锁应用指示消息中不包括“斗鱼”直播程序的申请唤醒锁的信息,则可以确定移动设备a中很可能没有安装“斗鱼”直播程序,因此在云端服务器根据所有的移动设备发送的唤醒锁应用指示消息确定出的程序白名单中包括“斗鱼”直播程序时,也可以不在返回给移动设备a的程序白名单中包括“斗鱼”直播程序;在又一实施例中,即使确定移动设备a中很可能没有安装“斗鱼”直播程序,如果在云端服务器根据所有的移动设备发送的唤醒锁应用指示消息确定出的程序白名单中包括“斗鱼”直播程序,也可以在返回给移动设备a的程序白名单中包括“斗鱼”直播程序。

在步骤504中,基于接收到的程序白名单更新本地存储的程序白名单。

在一实施例中,如果接收到的程序白名单中包括本移动设备中没有安装的程序时,可将接收到的程序白名单中对应的程序删除,以此来更新本地存储的程序白名单。

本实施例中,通过将第二预设时间段内的每一个程序申请唤醒锁的次数和持有唤醒锁的时间推送给服务器,可以让服务器结合在第二预设时间段内接收到的所有设备内的程序申请唤醒锁的次数和持有唤醒锁的时间,并且基于这些数据确定程序白名单,结合多个设备的申请唤醒锁的次数和持有唤醒锁的时间所确定的程序白名单的参考性更强。

图6是根据一示例性实施例示出的一种设备控制装置的框图,如图6所示,设备控制装置包括:

第一确定模块610,被配置为确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件;

停止运行模块620,被配置为在第一确定模块610确定申请统计信息满足预设条件时,执行停止运行第一类程序中预设个数的程序的操作。

图7是根据一示例性实施例示出的另一种设备控制装置的框图,如图7所示,在上述图6所示实施例的基础上,在一实施例中,第一确定模块610包括:

第一获取子模块611,被配置为获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁申请数量;

第一确定子模块612,被配置为确定第一获取子模块611确定的申请数量是否大于预设数量;

第二确定子模块613,被配置为在第一确定子模块612确定申请数量大于预设数量时,确定第一类程序的申请统计信息满足预设条件;

第三确定子模块614,被配置为在第一确定子模块612确定申请数量不大于预设数量时,确定第一类程序的申请统计信息不满足预设条件。

在一实施例中,停止运行模块620包括:

第二获取子模块621,被配置为确定第一类程序中每一个程序对应的唤醒锁申请数量;

第一排序子模块622,被配置为基于第二获取子模块621确定的每一个程序对应的唤醒锁申请数量,将每一个程序按照申请数量进行从大到小的排序;

第一停止子模块623,被配置为停止运行排名最前的预设个数的程序。

在一实施例中,第一确定模块610包括:

第三获取子模块615,被配置为获取从屏幕关闭时起的预设时间阈值内第一类程序的唤醒锁持有时间;

第四确定子模块616,被配置为确定第三获取子模块615获取的唤醒锁持有时间是否大于预设时间;

第五确定子模块617,被配置为在第四确定子模块616确定唤醒锁持有时间大于预设时间时,确定第一类程序的申请统计信息满足预设条件;

第六确定子模块618,被配置为在第四确定子模块616确定唤醒锁持有时间不大于预设时间时,确定第一类程序的申请统计信息不满足预设条件。

在一实施例中,停止运行模块620包括:

第四获取子模块624,被配置为确定第一类程序中每一个程序对应的唤醒锁持有时间;

第二排序子模块625,被配置为基于第四获取子模块624获取的每一个程序对应的唤醒锁持有时间,将每一个程序按照唤醒锁持有时间进行从大到小的排序;

第二停止子模块626,被配置为停止运行排名最前的预设个数的程序。

图8是根据一示例性实施例示出的另一种设备控制装置的框图,如图8所示,在上述图6和/或7所示实施例的基础上,在一实施例中,装置还包括:

程序标识确定模块630,被配置为确定预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;

查询模块640,被配置为通过查询程序白名单确定程序标识确定模块630确定的申请唤醒锁的非内核层的程序是否为第二类程序,程序白名单用于记录第二类预设的标识信息;

第二确定模块650,被配置为在查询模块640确定申请唤醒锁的非内核层的程序不是第二类程序时,确定申请唤醒锁的程序为第一类程序。

在一实施例中,装置还包括:

第一统计模块660,被配置为统计第一预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

提示模块670,被配置为生成唤醒锁应用提示信息,唤醒锁应用提示信息包括第一统计模块660统计的每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

第一接收模块680,被配置为接收用户根据提示模块670生成的唤醒锁应用提示信息输入的反馈信息;

第一更新模块690,被配置为根据第一接收模块690接收到的反馈信息,更新程序白名单。

在一实施例中,装置还包括:

第二统计模块700,被配置为统计第二预设时间段内每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

发送模块710,被配置为向服务器发送唤醒锁应用指示消息,唤醒锁应用指示消息携带有第二统计模块700统计得到的每一个程序申请唤醒锁的次数和持有唤醒锁的时间;

第二接收模块720,被配置为接收服务器根据第二预设时间段内接收到的所有设备发送的唤醒锁应用指示消息确定的程序白名单;

第二更新模块730,被配置为基于第二接收模块720接收到的程序白名单更新本地存储的程序白名单。

在一实施例中,装置还包括:

定时模块740,被配置为在屏幕关闭时,设置一个预设时间阈值长度的定时器;

第三确定模块750,被配置为通过确定定时模块设置的定时器是否超时确定关闭屏幕的时间是否超过预设时间阈值,基于预设时间阈值执行确定从屏幕关闭时起的预设时间阈值内申请唤醒锁的第一类程序的申请统计信息是否满足预设条件的操作。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图9是根据一示例性实施例示出的一种适用于设备控制装置的框图。例如,装置900可以是智能手机、平板电脑等。

参照图9,装置900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(i/o)的接口912,传感器组件914,以及通信组件916。

处理组件902通常控制装置900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理部件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。

存储器904被配置为存储各种类型的数据以支持在设备900的操作。这些数据的示例包括用于在装置900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电力组件906为装置900的各种组件提供电力。电力组件906可以包括电源管理系统,一个或多个电源,及其他与为装置900生成、管理和分配电力相关联的组件。

多媒体组件908包括在所述装置900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(mic),当装置900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。

i/o接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件914包括一个或多个传感器,用于为装置900提供各个方面的状态评估。例如,传感器组件914可以检测到设备900的打开/关闭状态,组件的相对定位,例如所述组件为装置900的显示器和小键盘,传感器组件914还可以检测装置900或装置900一个组件的位置改变,用户与装置900接触的存在或不存在,装置900方位或加速/减速和装置900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件916被配置为便于装置900和其他设备之间有线或无线方式的通信。装置900可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信部件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件916还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置900可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置900的处理器920执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1