如何在Android模拟器上模拟睡眠模式

Arn*_*aud 32 android android-virtual-device android-emulator

当移动设备进入睡眠/省电模式时,我的Android应用程序的某些用户会报告错误.

我想在Android虚拟设备上测试该问题.是否可以在AVD上模拟手机进入睡眠/省电模式?

提前致谢.

小智 42

在模拟器上尝试以下操作

  1. Settings
  2. Developer options
  3. 取消勾选Stay awake(从顶部开始的第3个选项)

如果不更改,仿真器将在1分钟后进入休眠状态(默认设置).

按电源按钮 在此输入图像描述 唤醒模拟器.

Developer options 默认情况下未启用,要启用它,请执行以下操作:

  1. Settings
  2. 点击 About emulated device
  3. 单击Build number7次,您将收到通知,Developer options现在已启用
  4. 回去你应该看到 Developer options

  • 如果未显示此选项,则必须按1.启用开发人员模式.转到设置 - >系统 - >关于模拟设备2.在构建号上单击7次然后在开发人员选项中找到它 (4认同)
  • 这仅适用于屏幕睡眠还是实际的深度睡眠(打瞌睡模式)?我发现单独的屏幕睡眠不会触发大多数与睡眠相关的错误,因为如果没有正确实现,深度睡眠可以休眠甚至关闭您的应用程序,并且还可以停止应用程序的后台进程。 (2认同)

tha*_*h84 23

在模拟器上,将设置/安全/屏幕锁定从"无"更改为"滑动" 在此输入图像描述

然后,单击右控制栏上的"电源"按钮关闭屏幕,再按一次打开屏幕.现在锁定屏幕将显示出来. 在此输入图像描述


use*_*811 20

Power Button旁边的仿真器侧边栏将做到这一点.

我Mac上的热键是 ? P

注意:您需要使用"滑动"而不是"无"来设置"锁定屏幕"


小智 6

要使用命令行使设备进入睡眠状态,请运行: adb shell input keyevent 223

要使用命令行将设备从睡眠状态唤醒,请运行: adb shell input keyevent 224

有关可以使用 ADB 发送的关键事件的更多信息,请查看KeyEventKEYCODE_...的常量,例如:

/** Key code constant: Sleep key.
 * Puts the device to sleep.  Behaves somewhat like {@link #KEYCODE_POWER} but it
 * has no effect if the device is already asleep. */
public static final int KEYCODE_SLEEP           = 223;

/** Key code constant: Wakeup key.
 * Wakes up the device.  Behaves somewhat like {@link #KEYCODE_POWER} but it
 * has no effect if the device is already awake. */
public static final int KEYCODE_WAKEUP          = 224;
Run Code Online (Sandbox Code Playgroud)