如何在打瞌睡模式下切换设备(Android Preview M / Marshmallow)?

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

我按照此处描述的步骤操作:

https://developer.android.com/preview/testing/guide.html#doze-standby

情况:

Shell:

$ adb shell dumpsys battery unplug

=> 工作正常,设备已拔下

$ adb shell dumpsys deviceidle step

=> 输出:步进到:ACTIVE

$ adb shell dumpsys deviceidle -h

=> 不起作用 => 输出:

Device idle controller (deviceidle) dump options:

[-h] [CMD]

-h: print this help text.

Commands:

step

disable

enable

whitelist

我试过:

adb shell dumpsys deviceidle enable

但是没有用。

所以我的问题,如上所述,如何将设备切换到打瞌睡模式? 我做错了什么?

编辑 - 2016 年 6 月:

新Link: https://developer.android.com/training/monitoring-device-state/doze-standby.html

$ adb shell dumpsys deviceidle -h

此命令只输出一条帮助信息,就像普通的 unix 程序一样。

IDLE 表示打瞌睡模式。 在您链接的文章中,您可以将打盹模式视为设备空闲模式。

是的,Google 的开发人员测试指南似乎不正确。我最近也发现了这一点,并发布了一个关于它的错误 here,其中包含使设备空闲(又名打瞌睡)的正确步骤。

好的,我知道了。诀窍是关闭屏幕!之后

$ adb shell dumpsys deviceidle 步骤 输出:

IDLE_PENDING

然后

感应

然后

空闲

然后

IDLE_MAINTENANCE

然后

空闲

然后

IDLE_MAINTENANCE

等等...

非常感谢这个网站:

https://newcircle.com/s/post/1739/2015/06/12/diving-into-android-m-doze

在新版本中有一个 better way 可以实现此目的:

$ adb shell dumpsys deviceidle force-idle

无需拔掉电源,无需等待屏幕关闭

您可以在此处找到我发布的关于类似主题的完整答案:

空闲状态 - 为了使设备进入空闲状态,您可以使用以下 adb 命令:

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

活动状态 - 为了使设备回到活动状态,您可以模拟以下按键事件:

> adb shell input keyevent KEYCODE_WAKEUP

我还需要一个在 Active 和 Idle 状态之间切换的快速选项,所以我写了一个批处理脚本 adbIdleModeSwitch.bat 用于这些目的,您可以下载并使用它: https://drive.google.com/file/d/0B81qFnPX_eUUYTMxOTd1UG94NVk/view