如何在打盹模式下移动设备(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 7.0 (Nougat) 打盹模式停止 Web 服务