本公开涉及电子技术领域,尤其涉及一种设备控制方法及装置。
背景技术:
随着互联网技术的快速发展,用户常在移动设备,例如智能手机、平板电脑中安装各种应用(application,app)以实现各种应用功能,随之而来的问题是即使用户关闭设备屏幕,不对设备执行任何操作,移动设备的电量也会因为有app需要推送消息而申请唤醒锁,进而导致系统不能休眠,电量消耗也会很快,大大缩短了设备的续航时间。
技术实现要素:
为克服相关技术中存在的问题,本公开实施例提供一种设备控制方法及装置,用以延长移动设备的续航时间。
根据本公开实施例的第一方面,提供一种设备控制方法,包括:
确定在屏幕关闭超过预设时间阈值时需要停止运行的程序;
执行停止运行所述程序的操作。
在一实施例中,确定在屏幕关闭超过预设时间阈值时需要停止运行的程序,包括:
通过查询程序黑名单,确定需要停止运行的第一类程序,所述第一类程序为具有申请唤醒锁的第一权限的程序,所述程序黑名单用于记录所述第一类程序的标识信息;以及,
确定需要停止运行的第二类程序,所述第二类程序为具有申请唤醒锁的第二权限的程序。
在一实施例中,方法还包括:
向服务器发送黑名单更新请求消息,所述请求消息中包括所述需要停止运行的第二类程序的标识信息;
接收所述服务器根据接收到的所有设备发送的黑名单更新请求消息确定的程序黑名单;
基于所述接收到的所述程序黑名单更新本地存储的程序黑名单。
在一实施例中,方法还包括:
生成唤醒锁应用提示信息,所述唤醒锁应用提示信息包括所述需要停止运行的第二类程序的标识信息;
接收用户根据所述唤醒锁应用提示信息输入的反馈信息;
根据所述反馈信息,更新所述程序黑名单。
在一实施例中,确定需要停止运行的第二类程序,包括:
获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁申请数量;
确定所述申请数量是否大于预设数量;
如果所述申请数量大于预设数量,则基于所述每一个程序对应的唤醒锁申请数量,将所述每一个程序按照申请数量进行从大到小的排序;
将排名最前的预设个数的程序确定为需要停止运行的第二类程序。
在一实施例中,方法还包括:
确定需要停止运行的第二类程序,包括:
获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁持有时间;
确定所述持有时间是否大于预设时间;
如果所述持有时间大于预设时间,则基于所述每一个程序对应的唤醒锁持有时间,将所述每一个程序按照持有时间进行从大到小的排序;
将排名最前的预设个数的程序确定为需要停止运行的第二类程序。
在一实施例中,方法还包括:
确定所述预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;
通过查询程序白名单和程序黑名单确定申请唤醒锁的非内核层的程序是否为第一类程序或者第三类程序,所述程序白名单用于记录第三类程序的标识信息,所述第三类程序为具有申请唤醒锁的第三权限的程序;
如果所述申请唤醒锁的非内核层的程序不是第三类程序和所述第一类程序,则确定所述申请唤醒锁的程序为第二类程序,基于所述第二类程序执行所述确定需要停止运行的第二类程序的操作。
在一实施例中,方法还包括:
在屏幕关闭时,设置一个预设时间阈值长度的定时器;
通过确定所述定时器是否超时确定所述关闭屏幕的时间是否超过预设时间阈值。
根据本公开实施例的第二方面,提供一种设备控制装置,可包括:
程序确定模块,被配置为确定在屏幕关闭超过预设时间阈值时需要停止运行的程序;
停止运行模块,被配置为执行停止运行所述程序确定模块确定的所述程序的操作。
在一实施例中,程序确定模块包括:
查询子模块,被配置为通过查询程序黑名单,确定需要停止运行的第一类程序,所述第一类程序为具有申请唤醒锁的第一权限的程序,所述程序黑名单用于记录所述第一类程序的标识信息;以及,
第一确定子模块,被配置为确定需要停止运行的第二类程序,所述第二类程序为具有申请唤醒锁的第二权限的程序。
在一实施例中,装置还包括:
发送模块,被配置为向服务器发送黑名单更新请求消息,所述请求消息中包括所述需要停止运行的第二类程序的标识信息;
第一接收模块,被配置为接收所述服务器根据接收到的所有设备发送的黑名单更新请求消息确定的程序黑名单;
第一更新模块,被配置为基于所述第一接收模块接收到的所述程序黑名单更新本地存储的程序黑名单。
在一实施例中,装置还包括:
提示模块,被配置为生成唤醒锁应用提示信息,所述唤醒锁应用提示信息包括所述需要停止运行的第二类程序的标识信息;
第二接收模块,被配置为接收用户根据所述提示模块生成的所述唤醒锁应用提示信息输入的反馈信息;
第二更新模块,被配置为根据所述第二接收模块接收到的所述反馈信息,更新所述程序黑名单。
在一实施例中,第一确定子模块包括:
第一获取子模块,被配置为获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁申请数量;
第二确定子模块,被配置为确定所述第一获取子模块获取的所述申请数量是否大于预设数量;
第一排序子模块,被配置为在所述申请数量大于预设数量时,基于所述每一个程序对应的唤醒锁申请数量,将所述每一个程序按照申请数量进行从大到小的排序;
第三确定子模块,被配置为将所述第一排序子模块排序后的所述排名最前的预设个数的程序确定为需要停止运行的第二类程序,所述第一确定子模块基于所述第二类程序执行所述确定需要停止运行的第二类程序的操作。
在一实施例中,第一确定子模块包括:
第二获取子模块,被配置为获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁持有时间;
第四确定子模块,被配置为确定所述第二获取子模块获取的所述持有时间是否大于预设时间;
第二排序子模块,被配置为在所述持有时间大于预设时间时,基于所述每一个程序对应的唤醒锁持有时间,将所述每一个程序按照持有时间进行从大到小的排序;
第五确定子模块,被配置为将所述第二排序子模块排序后的排名最前的预设个数的程序确定为需要停止运行的第二类程序。
在一实施例中,装置还包括:
程序标识确定模块,被配置为确定所述预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;
查询模块,被配置为通过查询程序白名单和程序黑名单确定申请唤醒锁的非内核层的程序是否为第一类程序或者第三类程序,所述程序白名单用于记录第三类程序的标识信息,所述第三类程序为具有申请唤醒锁的第三权限的程序;
第一确定模块,被配置为在所述查询模块确定所述申请唤醒锁的非内核层的程序不是第三类程序和所述第一类程序时,确定所述申请唤醒锁的程序为第二类程序。
在一实施例中,装置还包括:
设置模块,被配置为在屏幕关闭时,设置一个预设时间阈值长度的定时器;
第二确定模块,被配置为通过确定所述设置模块设置的所述定时器是否超时确定所述关闭屏幕的时间是否超过预设时间阈值。
根据本公开实施例的第三方面,提供一种设备控制装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定在屏幕关闭超过预设时间阈值时需要停止运行的程序;
执行停止运行所述程序的操作。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过确定在屏幕关闭超过预设时间阈值时需要停止运行的程序可以减少在屏幕关闭超过预设时间阈值时申请唤醒锁的程序的数量和持有时间,由此可以大大降低屏幕关闭时的设备功耗,延长设备续航时间。
并且,通过查询程序黑名单,确定需要停止运行的第一类程序,第一类程序为具有申请唤醒锁的第一权限的程序,其中第一权限为不能在屏幕关闭时申请唤醒锁的权限,可以实现限制一些不必要的程序申请唤醒锁,进而延长续航时间。
通过向服务器推送需要停止运行的第二类程序,可以让服务器结合所有设备需要停止运行的第二类程序确定程序黑名单,结合多个设备的申请唤醒锁的次数和持有唤醒锁的时间所确定的程序黑名单的参考性更强。
通过将每一个程序申请唤醒锁的次数和持有唤醒锁的时间推送给用户,可以由用户确定程序黑名单中包括哪些程序,提高了用户的体验。
通过在第二类程序的申请数量超过预设数量时,将第二类程序中每一个程序按照唤醒锁申请数量进行排序,并且停止运行排序最前的预设个数的程序,可以减少唤醒锁的申请数量,降低屏幕关闭时的设备功耗,延长设备续航时间。
通过在第二类程序的唤醒锁持有时间超过预设时间时,将第二类程序中每一个程序按照唤醒锁持有时间进行排序,并且停止运行排序最前的预设个数的程序,可以缩短唤醒锁持有时间,降低屏幕关闭时的设备功耗,延长设备续航时间。
通过查询程序白名单和程序黑名单可以确定申请唤醒锁的非内核层的程序是否为第二类程序,由此可以实现确定需要停止运行的第二类程序的操作,进而实现通过对第二类程序进行唤醒锁的申请限制来降低屏幕关闭时的设备功耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的设备控制方法的流程图。
图2a是根据一示例性实施例一示出的确定需要停止运行的第二类程序的方法的流程图一。
图2b是根据一示例性实施例二示出的确定需要停止运行的第二类程序的方法的流程图二。
图3是根据一示例性实施例三示出的确定程序是否为第二类程序的流程图。
图4a是根据一示例性实施例四示出的更新程序黑名单的方法的流程图一。
图4b是根据一示例性实施例四示出的更新程序黑名单的方法的示意图。
图5是根据一示例性实施例五示出的更新程序黑名单的方法的流程图二。
图6是根据一示例性实施例示出的一种设备控制装置的框图。
图7是根据一示例性实施例示出的另一种设备控制装置的框图。
图8是根据一示例性实施例示出的又一种设备控制装置的框图。
图9是根据一示例性实施例示出的一种适用于设备控制装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的设备控制方法的流程图;该设备控制方法可以应用在移动设备,如智能手机、平板电脑上,如图1所示,该设备控制方法包括以下步骤101-102:
在步骤101中,确定在屏幕关闭超过预设时间阈值时需要停止运行的程序。
在一实施例中,需要停止运行的程序包括所有的第一类程序,以及部分第二类程序。
在一实施例中,第一类程序为具有申请唤醒锁的第一权限的程序,第一权限为不被允许申请唤醒锁的权限,第一类程序可以通过查询程序黑名单获得,程序黑名单用于记录第一类程序的标识信息。
在一实施例中,第二类程序为具有申请唤醒锁的第二权限的程序,第二权限为在一些情况下可以被允许申请唤醒锁而在另一些情况下不被允许申请唤醒锁的权限,例如,在设备后台运行的第二类程序比较少,因此第二类程序的唤醒锁申请数量比较少的情况下被允许申请唤醒锁,而在设备后台运行的第二类程序比较多,第二类程序的唤醒锁申请数量比较多并且这个程序申请唤醒锁的数量比较多的情况下不被允许申请唤醒锁。
在一实施例中,确定需要停止运行的第二类程序的方法可以参见图2a和图2b所示实施例,这里先不详述。
在一实施例中,可以通过在屏幕关闭时设置一个预设时间阈值长度的定时器,如果定时器超时,则可确定关闭屏幕的时间超过预设时间阈值。
在一实施例中,预设时间阈值可以为一个30秒钟、1分钟等的时间间隔,预设时间阈值可以由系统设定。
在一实施例中,可以由用户按关机的物理按键触发关闭屏幕;在又一实施例中,还可以在长时间没有接收到用户的操作时自动关闭屏幕。
在步骤102中,执行停止运行程序的操作。
本实施例中,通过确定在屏幕关闭超过预设时间阈值时需要停止运行的程序可以减少在屏幕关闭超过预设时间阈值时申请唤醒锁的程序的数量和持有时间,由此可以大大降低屏幕关闭时的设备功耗,延长设备续航时间。
在一实施例中,确定在屏幕关闭超过预设时间阈值时需要停止运行的程序,包括:
通过查询程序黑名单,确定需要停止运行的第一类程序,第一类程序为具有申请唤醒锁的第一权限的程序,程序黑名单用于记录第一类程序的标识信息;以及,
确定需要停止运行的第二类程序,第二类程序为具有申请唤醒锁的第二权限的程序。
在一实施例中,方法还包括:
向服务器发送黑名单更新请求消息,请求消息中包括需要停止运行的第二类程序的标识信息;
接收服务器根据接收到的所有设备发送的黑名单更新请求消息确定的程序黑名单;
基于接收到的程序黑名单更新本地存储的程序黑名单。
在一实施例中,方法还包括:
生成唤醒锁应用提示信息,唤醒锁应用提示信息包括需要停止运行的第二类程序的标识信息;
接收用户根据唤醒锁应用提示信息输入的反馈信息;
根据反馈信息,更新程序黑名单。
在一实施例中,确定需要停止运行的第二类程序,包括:
获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁申请数量;
确定申请数量是否大于预设数量;
如果申请数量大于预设数量,则基于每一个程序对应的唤醒锁申请数量,将每一个程序按照申请数量进行从大到小的排序;
将排名最前的预设个数的程序确定为需要停止运行的第二类程序。
在一实施例中,方法还包括:
确定需要停止运行的第二类程序,包括:
获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁持有时间;
确定持有时间是否大于预设时间;
如果持有时间大于预设时间,则基于每一个程序对应的唤醒锁持有时间,将每一个程序按照持有时间进行从大到小的排序;
将排名最前的预设个数的程序确定为需要停止运行的第二类程序。
在一实施例中,方法还包括:
确定预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;
通过查询程序白名单和程序黑名单确定申请唤醒锁的非内核层的程序是否为第一类程序或者第三类程序,程序白名单用于记录第三类程序的标识信息,第三类程序为具有申请唤醒锁的第三权限的程序;
如果申请唤醒锁的非内核层的程序不是第三类程序和第一类程序,则确定申请唤醒锁的程序为第二类程序,基于第二类程序执行确定需要停止运行的第二类程序的操作。
在一实施例中,方法还包括:
在屏幕关闭时,设置一个预设时间阈值长度的定时器;
通过确定定时器是否超时确定关闭屏幕的时间是否超过预设时间阈值。
具体如何通过预设程序对唤醒锁进行限定申请进而延长移动设备续航时间的,请参考后续实施例。
至此,本公开实施例提供的上述方法,可以减少持有唤醒锁的程序的数量和时间,大大降低设备功耗,延长设备续航时间。
图2a是根据一示例性实施例一示出的确定需要停止运行的第二类程序的方法的流程图一,图2b是根据一示例性实施例二示出的确定需要停止运行的第二类程序的方法的流程图二;本实施例利用本公开实施例提供的上述方法,分别以如何通过唤醒锁申请数量和唤醒锁持有时间来确定需要运行的第二类程序为例进行示例性说明,如图2a所示,为根据唤醒锁申请数量确定需要运行的第二类程序的流程,包括如下步骤:
在步骤201中,获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁申请数量。
在一实施例中,可通过电源管理服务模块或者电池电量统计模块执行统计唤醒锁申请信息的操作。
在一实施例中,申请唤醒锁的信息,可包括申请数量、每次持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到),例如,在预设时间阈值内第二类程序申请唤醒锁的申请数量为15次。
在一实施例中,可通过图3实施例确定申请唤醒锁的程序是否为第二类程序,这里先不详述。
在步骤202中,确定申请数量是否大于预设数量,如果申请数量大于预设数量,则执行步骤204,如果申请数量不大于预设数量,则执行步骤203。
在一实施例中,预设数量可以为一个5个、10等的数值,可由系统根据设备在关闭屏幕时的耗电与唤醒锁申请数量的关系设置。
在步骤203中,确定不停止运行第二类程序中的程序,流程结束。
在步骤204中,基于每一个程序对应的唤醒锁申请数量,将每一个程序按照申请数量进行从大到小的排序。
在一实施例中,可通过电源管理服务模块记录在屏幕关闭时起的预设时间阈值内每一个第二类程序申请唤醒锁的信息,包括申请数量、每次持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到),例如,微信应用程序在预设时间阈值内申请唤醒锁3次,微博应用程序在预设时间阈值内申请唤醒锁3次,腾讯应用程序在预设时间阈值内申请唤醒锁5次,天天果园应用程序在预设时间阈值内申请唤醒锁1次,京东商城应用程序在预设时间阈值内申请唤醒锁2次,第二类程序总的唤醒次数为14次。
在一实施例中,按照从大到小进行排序,可以将申请数量最多的排在前面,以上述举例进行示意,排序为:腾讯、微信、微博、京东商城、天天果园。其中如果申请数量相同,则可以结合持有时间进行排序,例如微信和微博都是申请了三次,则可确定微信和微博持有唤醒锁的时间,将持有时间长的应用程序排在前面。
在步骤205中,将排名最前的预设个数的程序确定为需要停止运行的第二类程序。
在一实施例中,预设个数可以为一个定值,由系统设定,例如为3个;在又一实施例中,预设个数可以由第二类程序的总申请数量和预设数量的差值确定,例如第二类程序的总申请数量为14个,预设数量为6个,则申请数量超出8个,则可停止运行排名靠前的程序,停止运行的程序的申请数量和不能小于8个。
如图2b所示,为根据唤醒锁持有时间来确定需要运行的第二类程序的流程,包括如下步骤:
在步骤211中,获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁持有时间。
在一实施例中,可通过电源管理服务模块记录在屏幕关闭时起的预设时间阈值内每一个第二类程序申请唤醒锁的信息,包括申请数量、每次持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到),例如,在预设时间阈值内第二类程序申请唤醒锁的持有时间为600秒钟。
在一实施例中,可通过图3实施例确定申请唤醒锁的程序是否为第二类程序,这里先不详述。
在步骤212中,确定持有时间是否大于预设时间,如果唤醒锁持有时间大于预设时间,则执行步骤214,如果唤醒锁持有时间不大于预设时间,则执行步骤213。
在一实施例中,预设时间可以为一个5分钟、10分钟等的数值。
在步骤213中,确定不停止运行第二类程序中的程序,流程结束。
在步骤214中,基于每一个程序对应的唤醒锁持有时间,将每一个程序按照持有时间进行从大到小的排序。
在一实施例中,可通过电源管理服务模块记录在屏幕关闭时起的预设时间阈值内每一个第二类程序申请唤醒锁的信息,包括申请数量、持有唤醒锁的时间(可通过唤醒锁申请时间和释放时间得到每一次唤醒锁的持有时间),例如,微信应用程序在预设时间阈值内持有唤醒锁120秒钟。
在一实施例中,按照从大到小进行排序,可以将持有时间最长的排在前面,如果持有时间相同,则可以结合申请数量进行排序,在持有时间相同时,将申请数量多的排在前面。
在步骤215中,将排名最前的预设个数的程序确定为需要停止运行的第二类程序。
在一实施例中,预设个数可以为一个定值,由系统设定,例如为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的方式进行更新,这里先不详述。在一实施例中,程序白名单也可以采用与图4a和图5的方案类似的方案进行更新,这里先不详述。
在步骤303中,如果申请唤醒锁的非内核层的程序不是第三类程序和第一类程序,则确定申请唤醒锁的程序为第二类程序,基于第二类程序执行确定需要停止运行的第二类程序的操作。
本实施例中,通过查询程序白名单和程序黑名单可以确定申请唤醒锁的非内核层的程序是否为第二类程序,由此可以实现确定需要停止运行的第二类程序的操作,进而实现通过对第二类程序进行唤醒锁的申请限制来降低屏幕关闭时的设备功耗。
图4a是根据一示例性实施例四示出的更新程序黑名单的方法的流程图一,图4b是根据一示例性实施例四示出的更新程序黑名单的方法的示意图;本实施例利用本公开实施例提供的上述方法,以如何更新程序白名单为例进行示例性说明,如图4a所示,包括如下步骤:
在步骤401中,生成唤醒锁应用提示信息,唤醒锁应用提示信息包括需要停止运行的第二类程序的标识信息。
在一实施例中,可将每次屏幕关闭后统计的需要停止运行的第二类程序添加至停止运行程序名单,并在点亮屏幕时生成唤醒锁应用提示信息,唤醒锁应用提示信息中携带有停止运行程序名单的标识信息,还可携带有每个应用程序或者服务程序申请唤醒锁的次数和持有唤醒锁的时间。例如,在通知栏推送通知消息,通知在一天内每个应用程序申请唤醒锁的次数和持有唤醒锁的时间,例如显示图4b所示的通知栏消息,其中显示了每个应用程序或者服务程序申请唤醒锁的次数和持有唤醒锁的时间,并且还可以提供对应程序在关闭屏幕的时间段内的耗电信息。
在一实施例中,图4b中还可以显示类似“添加至黑名单”的信息,在一实施例中,“添加至黑名单”用于表示不允许程序在关闭屏幕后申请唤醒锁。
在一实施例中,还可统计预设时间段内每次关闭屏幕时确定的需要停止运行的第二类程序的标识信息,并将标识信息添加至停止运行程序名单,然后定期生成唤醒锁应用提示信息,唤醒锁应用提示信息中携带有停止运行程序名单的标识信息。
在步骤402中,接收用户根据唤醒锁应用提示信息输入的反馈信息。
在一实施例中,用户可以根据唤醒锁应用提示信息输入反馈信息,例如,在微信程序的唤醒锁信息条目上点击,选择将微信程序设置为拒绝申请唤醒锁的程序或者将其添加至程序黑名单中,根据用户的操作可以输入对应的反馈信息。
在步骤403中,根据反馈信息,更新程序黑名单。
在一实施例中,可根据用户输入的反馈信息,例如如果接收到“将微信程序添加至程序黑名单中”的反馈信息,则可将微信程序添加至程序黑名单中,也即允许微信程序在关闭屏幕后申请唤醒锁。
在一实施例中,对于程序白名单,也可定期生成提示信息,提示用户一段时间内每个程序申请唤醒锁的信息,以便根据用户的反馈信息更新程序白名单。
本实施例中,通过将每一个程序申请唤醒锁的次数和持有唤醒锁的时间推送给用户,可以由用户确定程序黑名单中包括哪些程序,提高了用户的体验。
图5是根据一示例性实施例五示出的更新程序白名单的方法的流程图二;本实施例利用本公开实施例提供的上述方法,以如何更新程序白名单为例进行示例性说明,如图5所示,包括如下步骤:
在步骤501中,向服务器发送黑名单更新请求消息,请求消息中包括需要停止运行的第二类程序的标识信息。
在一实施例中,可将每次屏幕关闭后统计的需要停止运行的第二类程序添加至停止运行程序名单,并在点亮屏幕时生成黑名单更新请求消息,黑名单更新请求消息中携带有停止运行程序名单的标识信息,还可携带有每个应用程序或者服务程序申请唤醒锁的次数和持有唤醒锁的时间。
在一实施例中,还可统计预设时间段内每次关闭屏幕时确定的需要停止运行的第二类程序的标识信息,并将标识信息添加至停止运行程序名单,然后定期生成黑名单更新请求消息,黑名单更新请求消息中携带有停止运行程序名单的标识信息。
在步骤502中,接收服务器根据接收到的所有设备发送的黑名单更新请求消息确定的程序黑名单。
在一实施例中,服务器可根据预设时间段内接收到的黑名单更新请求消息确定最近每个设备在关闭屏幕时需要停止运行的第二类程序,进而确定出完全不适合申请唤醒锁的程序,将其添加至程序黑名单中。
在一实施例中,由于每一个移动设备中运行的程序并不完全相同,因此可根据每一个移动设备发送的黑名单更新请求消息确定对应的移动设备中运行的程序,然后向移动设备返回对应的程序黑名单,例如:如果移动设备a发送的黑名单更新请求消息中不包括“斗鱼”直播程序,则可以确定移动设备a中很可能没有安装“斗鱼”直播程序,因此在云端服务器根据所有的移动设备发送的黑名单更新请求消息确定出的程序黑名单中包括“斗鱼”直播程序时,也可以不在返回给移动设备a的程序黑名单中不包括“斗鱼”直播程序;在又一实施例中,即使确定移动设备a中很可能没有安装“斗鱼”直播程序,如果在云端服务器根据所有的移动设备发送的唤醒锁应用指示消息确定出的程序黑名单中包括“斗鱼”直播程序,也可以在返回给移动设备a的程序黑名单中包括“斗鱼”直播程序。
在步骤503中,基于接收到的程序黑名单更新本地存储的程序黑名单。
在一实施例中,如果接收到的程序黑名单中包括本移动设备中没有安装的程序时,可将接收到的程序黑名单中对应的程序删除,以此来更新本地存储的程序黑名单。
本实施例中,通过向服务器推送需要停止运行的第二类程序,可以让服务器结合所有设备需要停止运行的第二类程序确定程序黑名单,结合多个设备的申请唤醒锁的次数和持有唤醒锁的时间所确定的程序黑名单的参考性更强。
图6是根据一示例性实施例示出的一种设备控制装置的框图,如图6所示,设备控制装置包括:
程序确定模块610,被配置为确定在屏幕关闭超过预设时间阈值时需要停止运行的程序;
停止运行模块620,被配置为执行停止运行程序确定模块确定的程序的操作。
图7是根据一示例性实施例示出的另一种设备控制装置的框图,如图7所示,在上述图6所示实施例的基础上,在一实施例中,程序确定模块610包括:
查询子模块611,被配置为通过查询程序黑名单,确定需要停止运行的第一类程序,第一类程序为具有申请唤醒锁的第一权限的程序,程序黑名单用于记录第一类程序的标识信息;以及,
第一确定子模块612,被配置为确定需要停止运行的第二类程序,第二类程序为具有申请唤醒锁的第二权限的程序。
在一实施例中,装置还包括:
发送模块630,被配置为向服务器发送黑名单更新请求消息,请求消息中包括需要停止运行的第二类程序的标识信息;
第一接收模块640,被配置为接收服务器根据接收到的所有设备发送的黑名单更新请求消息确定的程序黑名单;
第一更新模块650,被配置为基于第一接收模块640接收到的程序黑名单更新本地存储的程序黑名单。
在一实施例中,装置还包括:
提示模块660,被配置为生成唤醒锁应用提示信息,唤醒锁应用提示信息包括需要停止运行的第二类程序的标识信息;
第二接收模块670,被配置为接收用户根据提示模块660生成的唤醒锁应用提示信息输入的反馈信息;
第二更新模块680,被配置为根据第二接收模块670接收到的反馈信息,更新程序黑名单。
在一实施例中,第一确定子模块612包括:
第一获取子模块6121,被配置为获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁申请数量;
第二确定子模块6122,被配置为确定第一获取子模块6121获取的申请数量是否大于预设数量;
第一排序子模块6123,被配置为在第二确定子模块6122确定申请数量大于预设数量时,基于每一个程序对应的唤醒锁申请数量,将每一个程序按照申请数量进行从大到小的排序;
第三确定子模块6124,被配置为将第一排序子模块6123排序后的排名最前的预设个数的程序确定为需要停止运行的第二类程序,第一确定子模块基于第二类程序执行确定需要停止运行的第二类程序的操作。
在一实施例中,第一确定子模块612包括:
第二获取子模块6125,被配置为获取从屏幕关闭时起的预设时间阈值内第二类程序的唤醒锁持有时间;
第四确定子模块6126,被配置为确定第二获取子模块6125获取的持有时间是否大于预设时间;
第二排序子模块6127,被配置为在第四确定子模块6126持有时间大于预设时间时,基于每一个程序对应的唤醒锁持有时间,将每一个程序按照持有时间进行从大到小的排序;
第五确定子模块6128,被配置为将第二排序子模块6127排序后的排名最前的预设个数的程序确定为需要停止运行的第二类程序。
图8是根据一示例性实施例示出的另一种设备控制装置的框图,如图8所示,在上述图6和/或7所示实施例的基础上,在一实施例中,装置还包括:
程序标识确定模块690,被配置为确定预设时间阈值内申请唤醒锁的非内核层的程序的标识信息;
查询模块700,被配置为通过查询程序白名单和程序黑名单确定申请唤醒锁的非内核层的程序是否为第一类程序或者第三类程序,程序白名单用于记录第三类程序的标识信息,第三类程序为具有申请唤醒锁的第三权限的程序;
第一确定模块710,被配置为在查询模块700确定申请唤醒锁的非内核层的程序不是第三类程序和第一类程序时,确定申请唤醒锁的程序为第二类程序。
在一实施例中,装置还包括:
设置模块720,被配置为在屏幕关闭时,设置一个预设时间阈值长度的定时器;
第二确定模块730,被配置为通过确定设置模块720设置的定时器是否超时确定关闭屏幕的时间是否超过预设时间阈值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图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、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。