让Android入睡进行测试

Phi*_*hil 6 android sleep wakelock thread-sleep

嗨,我正在创建一个报警应用程序,目前有一些问题处理Wakelock(或许它是其他的东西),并使手机睡着时报警工作,但我的问题实际上不是关于Wakelock,而是关于如何让手机进入睡眠状态,这样我就可以在我的闹钟应用上测试我想要实现的各种选项.目前我必须等待手机进入睡眠状态才能测试我的代码.那么有没有办法让手机处于深度睡眠状态?

小智 9

我在开发工作期间遇到了同样的问题.Android文档不是很有用 - 使用adb切换到打盹模式(深度睡眠):

adb shell dumpsys deviceidle force-idle
Run Code Online (Sandbox Code Playgroud)

同样有用,使用:

adb shell dumpsys deviceidle step
Run Code Online (Sandbox Code Playgroud)

要么

adb shell dumpsys deviceidle unforce
Run Code Online (Sandbox Code Playgroud)

回到"正常"模式.简介:

adb shell dumpsys -l  #(lower case "L") list subsystems (deviceidle is one)
Run Code Online (Sandbox Code Playgroud)

然后:

adb shell dumpsys deviceidle -h  #parameters with brief description
Run Code Online (Sandbox Code Playgroud)

此外,adb需要访问您的设备(或模拟器)才能获取此信息.祝好运!

  • 我这样做了,但什么也没发生,甚至屏幕都没有消失……我怎么知道它真的有效 (4认同)
  • 但屏幕显示仍在。 (2认同)

0xA*_*iHn 7

您可以按照以下步骤测试打盹模式/深度睡眠模式:

  1. 使用Android 6.0(API级别23)或更高版本的系统映像配置硬件设备或虚拟设备.
  2. 将设备连接到开发计算机并安装应用程序.
  3. 运行您的应用并将其保持活动状态.
  4. 通过运行以下命令强制系统进入空闲模式:

    $ adb shell dumpsys deviceidle force-idle

  5. 准备就绪后,通过运行以下命令退出空闲模式:

    $ adb shell dumpsys deviceidle unforce

  6. 重新激活设备后,请观察应用程序的行为.

  • @JustAMartin 要启用深度空闲,您可以发出命令“adb shell dumpsys deviceidle enable all” (2认同)