如何在Doze模式下切换设备(Android预览版M / Marshmallow)?

26

我按照这里描述的步骤进行操作:

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

情况:

  • Android Debug Bridge 版本为 1.0.32

  • Nexus 9 使用预览版 M

Shell:

$ adb shell dumpsys battery unplug

=> 已工作,设备已拔出

$ adb shell dumpsys deviceidle step
输出:跳转到:激活状态
$ 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

但它没有起作用。

所以,我的问题是如上所述,如何在Doze模式下移动设备?我做错了什么吗?

编辑 - 2016年6月:

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


1
我建议将你的解决方案从问题正文中移出,放到一个新的回答中。然后接受这个新的回答作为正确答案。这有助于表明这个问题已经解决,使得系统和其他用户可以轻松地看到一个解决方案可用! - Scott W
谢谢,我已经完成了。 - A.D.
以上链接已失效,新链接已添加,请查看编辑。 - A.D.
5个回答

42

在新版本中,有更好的方法来实现这个目标:

$ adb shell dumpsys deviceidle force-idle

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


1
有什么想法如何将它呈现出来? - Kushan
16
adb shell dumpsys deviceidle unforce - kar
12
adb shell dumpsys deviceidle disable - Oliver Kranz
1
@OliverKranz禁用(disable)似乎表明它会在设备上甚至自然地禁用省电模式。我建议不要使用这个命令。 - Luke Cauthen
3
在我的电脑上输入“unforce”出现了“未知命令:unforce”的结果。 - Oliver Kranz
显示剩余5条评论

22

1
此外,命令 adb shell dumpsys deviceidle 很有用,可以查看当前状态,包括 IDLE 的先决条件(已启用,未移动,未充电,屏幕关闭)。例如,您是否需要在仿真器的电源按钮上再次点击才能使 mScreenOn=false。 - Jerry101
没有以下命令就无法正常工作:adb shell dumpsys battery unplug - sapeg

4

是的,看起来Google的开发者测试指南是不正确的。我最近也发现了这一点,并在这里发布了一个有关此问题的错误报告,其中包含了使设备进入空闲状态(即Doze)的正确步骤。


1
$ adb shell dumpsys deviceidle -h

这个命令只输出一个类似于常见Unix程序的帮助信息。
IDLE意味着Doze模式。 在你提供的文章中,你可以把Doze模式看作是设备空闲模式。

0

你可以在这里找到我关于类似主题的完整回答:

如何在Android上测试Doze模式?

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

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

活跃状态 - 为了将设备重新置于活跃状态,您可以模拟以下键事件:

> adb shell input keyevent KEYCODE_WAKEUP

我也需要一个快速切换活动和空闲状态的选项,所以我编写了一个批处理脚本adbIdleModeSwitch.bat来实现这些目的,您可以下载并使用它:https://drive.google.com/file/d/0B81qFnPX_eUUYTMxOTd1UG94NVk/view


你在顶部的链接指向第一个评论,而不是你实际的答案。 - Jake Lee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接