强制安卓手机入睡,以便测试?

Chr*_*est 24 android android-powermanager sleep-mode

我正在编写一个取决于网络活动的Android应用程序,警报管理器有时会将手机从睡眠状态唤醒.

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

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

For*_*rce 10

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

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

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


Rya*_*rad 1

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

  • 谢谢。这就是我一直在做的事情,但我怀疑按下电源会使显示器立即进入睡眠状态,但不一定会强制CPU进入睡眠状态(这显然最终可能会发生 - 据此http://developer.android.com/判断)参考/android/app/AlarmManager.html#RTC_WAKEUP) (5认同)