25

我正在编写一个依赖于网络活动的 android 应用程序,并且警报管理器有时会将手机从睡眠状态中唤醒。

我的问题是如何在设备上可靠地测试它?理想情况下,如何强制手机进入完全睡眠状态。如果做不到这一点,我怎么能确定手机何时完全进入睡眠状态?

您如何测试您的警报管理器/唤醒锁定/睡眠处理代码?

4

4 回答 4

11

关闭设备/模拟器的屏幕,然后运行以下命令:

adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step

重新运行第二个,直到收到消息“IDLE”。这适用于运行 Android 6.0 或更高版本的设备。

于 2016-11-07T12:49:47.857 回答
2

步骤1

一个。在设置中将设备置于“放电”状态(按照红框中的说明进行操作)。

湾。按“电源”按钮(蓝色框)关闭设备屏幕。

在模拟器中打开手机

第2步

一个。要直接使设备进入睡眠模式,请运行:

adb shell dumpsys deviceidle force-idle

湾。或者慢慢进入睡眠模式,运行:

adb shell dumpsys deviceidle step多次。

第 3 步

要确认设备空闲状态,请运行:

adb shell dumpsys deviceidle get deep

于 2017-12-17T00:59:27.560 回答
1

按下设备上的电源按钮应使其进入睡眠状态。PowerManager中还有一个goToSleep(long time)方法,但这需要DEVICE_POWER权限,该权限是为系统应用程序保留的。

于 2010-08-05T18:02:11.823 回答
-4

如果您想在模拟器上进行测试,请从主屏幕按菜单 -> 设置 -> 应用程序 -> 开发 -> 取消选中保持清醒

于 2010-11-20T06:54:43.360 回答