将 Android 置于睡眠状态以进行测试

Put Android to sleep for testing

我正在创建一个闹钟应用程序,目前在处理唤醒锁(或者可能是其他东西)时遇到问题,以便在 phone 睡着时让闹钟工作。然而,我的问题实际上不是关于 Wakelock,而是关于如何让 phone 进入睡眠状态,以便我可以测试我想在我的闹钟应用程序上实现的各种选项。目前我必须等待 phone 进入睡眠状态才能测试我的代码。那么有没有办法以编程方式让 phone 进入深度睡眠?

我 运行 在我的开发工作中遇到了同样的问题。 android 文档不是很有用——使用 adb 切换到打瞌睡模式(深度睡眠):

adb shell dumpsys deviceidle force-idle

同样有用,使用:

adb shell dumpsys deviceidle step

adb shell dumpsys deviceidle unforce

返回 "normal" 模式。简介:

adb shell dumpsys -l  #(lower case "L") list subsystems (deviceidle is one)

然后:

adb shell dumpsys deviceidle -h  #parameters with brief description

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

您可以按照以下步骤测试 Doze mode/Deep 睡眠模式:

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

    $ adb shell dumpsys deviceidle force-idle

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

    $ adb shell dumpsys deviceidle unforce

  6. 重新激活设备后观察应用的行为。