退出android doze模式

时间:2018-09-27 17:19:52

标签: android android-doze android-doze-and-standby

我正在我的应用程序中使用Android打ze模式,只是想检查我在打ze模式下应用程序的行为。

在打ze模式下,我的应用程序使作业调度程序中的某些任务排队。我想检查是否有任何事件唤醒设备,从而触发我的应用程序在打ze睡时放置在作业计划程序中的作业。

我通过触发以下命令以编程方式将设备置于打ze模式-

adb shell dumpsys battery unplug 
adb shell dumpsys deviceidle enable 
adb shell dumpsys deviceidle force-idle

我还尝试了另一组命令将其置于打ze模式

adb shell dumpsys deviceidle step deep

以上命令将设备置于深度空闲模式,我使用命令

进行检查
adb shell dumpsys deviceidle get deep

输出:空闲

但是,即使我打了个电话,这会打开设备屏幕并振动设备,设备状态也不会改变。上面的命令连续给我IDLE状态。

问题:

我可以模拟将设备置于休眠状态(通过触发一些命令),然后由于android文档所声明的某些事件(移动设备,打开屏幕或连接充电器)。

编辑

经过大量研究后的观察结果-

当我们将设备编程为进入深度空闲模式时,除非使用命令明确完成操作,否则设备不会退出休眠模式。

adb shell dumpsys deviceidle disable

因此,即使您发送短信或致电设备也会导致
-打开设备屏幕
-振动的设备

但是因为如果以编程方式将其设置为空闲模式,则它将连续保持在相同状态。

1 个答案:

答案 0 :(得分:0)

我相信问题在于您使用的是强制怠速。

执行此操作后,设备将进入“空闲”模式,直到通过以下方式“取消强制”它:

adb shell dumpsys deviceidle unforce

您可以在文档中或其他问题中检查从adb进入IDLE模式的其他方法,例如:

How to shift device in Doze Mode (Android Preview M / Marshmallow)?