如何在打盹模式下移动设备(Android Preview M / Marshmallow)?

Posted

技术标签:

【中文标题】如何在打盹模式下移动设备(Android Preview M / Marshmallow)?【英文标题】:How to shift device in Doze Mode (Android Preview M / Marshmallow)? 【发布时间】:2015-10-10 14:34:25 【问题描述】:

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

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

情况:

Android Debug Bridge 版本 1.0.32

带有 Preview M 的 Nexus 9

壳牌:

$ 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 月:

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

【问题讨论】:

我建议将您的解决方案从问题主体中移出,并放入新的答案中。然后接受这个新答案作为正确答案。这有助于表明该问题已得到解决,以便系统和其他用户可以轻松看到有可用的解决方案! 谢谢,我已经做到了。 以上链接已失效,已添加新链接,请参阅编辑。 【参考方案1】:

在新版本中有一个better way 来实现这一点:

$ adb shell dumpsys deviceidle force-idle

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

【讨论】:

知道如何把它拿出来吗? adb shell dumpsys deviceidle unforce adb shell dumpsys deviceidle disable @OliverKranz disable 似乎暗示它甚至有机地禁用了设备上的打盹模式。我建议不要使用此命令。 @LukeCauthen unforce 对我来说会导致“未知命令:unforce”。【参考方案2】:

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

$ adb shell dumpsys deviceidle 步骤 输出:

IDLE_PENDING

然后

感应

然后

空闲

然后

IDLE_MAINTENANCE

然后

空闲

然后

IDLE_MAINTENANCE

等等……

非常感谢这个网站:

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

【讨论】:

此外,adb shell dumpsys deviceidle 命令可用于查看当前状态,包括 IDLE 的先决条件(启用、未移动、未充电、屏幕关闭)。例如。是否需要再次点击模拟器的电源按钮才能获得 mScreenOn=false。【参考方案3】:

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

【讨论】:

【参考方案4】:
$ adb shell dumpsys deviceidle -h

这个命令只输出一个类似unix程序的帮助信息。

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

【讨论】:

【参考方案5】:

您可以在此处找到有关类似主题的完整答案: How to test Doze Mode on Android?

空闲状态 - 为了使设备进入空闲状态,您可以使用以下 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

【讨论】:

您在顶部的链接指向第一条评论,而不是您的实际答案。

以上是关于如何在打盹模式下移动设备(Android Preview M / Marshmallow)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上测试打盹模式?

如何以编程方式关闭棉花糖设备中特定应用程序的打盹模式

Android 7.0 (Nougat) 打盹模式停止 Web 服务

如何区分设备进入打盹维护窗口和退出打盹

Android 6.0 处于打盹模式时如何让闹钟管理器工作?

Android 打盹模式 - 蓝牙