首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >退出android午睡模式

退出android午睡模式
EN

Stack Overflow用户
提问于 2018-09-27 17:19:51
回答 1查看 2.5K关注 0票数 3

我正在我的应用程序中玩Android打瞌睡模式,只想在打瞌睡模式下检查我的应用程序行为。

在打瞌睡模式下,我的应用程序在作业调度器中排队一些任务。我想看看是否有任何事件,这唤醒了设备,触发了我的应用程序放在作业调度程序在打瞌睡时的作业。

我通过启动以下命令,以编程方式将设备置于打瞌睡模式-

代码语言:javascript
运行
复制
adb shell dumpsys battery unplug 
adb shell dumpsys deviceidle enable 
adb shell dumpsys deviceidle force-idle

我还尝试了其他一组命令,将其置于打瞌睡模式。

代码语言:javascript
运行
复制
adb shell dumpsys deviceidle step deep

上面的命令使设备处于深度空闲模式,我用命令检查它-

代码语言:javascript
运行
复制
adb shell dumpsys deviceidle get deep

产出:闲置

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

问题:

我能模仿一下这样的场景:我把设备打瞌睡(通过发射一些命令),然后设备会被android文档声明的一些事件(移动它、打开屏幕或连接一个充电器)从打瞌睡中移出。

编辑

我做了很多研究后的观察-

当我们编程一个设备进入深度空闲模式时,该设备不会脱离打瞌睡模式,除非使用以下命令显式完成-

代码语言:javascript
运行
复制
adb shell dumpsys deviceidle disable

因此,即使您发送一条短信或调用设备,这将导致

  • 要打开的设备屏幕
  • 振动装置

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

EN

回答 1

Stack Overflow用户

发布于 2018-09-27 17:38:38

我相信问题是你在使用武力。

当您这样做时,设备进入空闲模式,直到您用以下方式“解除”它:

代码语言:javascript
运行
复制
adb shell dumpsys deviceidle unforce

您可以在docs或其他问题中检查从adb进入空闲模式的其他方式,如下所示:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52542137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档