我正在编写一个依赖于网络活动的 android 应用程序,并且警报管理器有时会将手机从睡眠状态中唤醒。
我的问题是如何在设备上可靠地测试它?理想情况下,如何强制手机进入完全睡眠状态。如果做不到这一点,我怎么能确定手机何时完全进入睡眠状态?
您如何测试您的警报管理器/唤醒锁定/睡眠处理代码?
我正在编写一个依赖于网络活动的 android 应用程序,并且警报管理器有时会将手机从睡眠状态中唤醒。
我的问题是如何在设备上可靠地测试它?理想情况下,如何强制手机进入完全睡眠状态。如果做不到这一点,我怎么能确定手机何时完全进入睡眠状态?
您如何测试您的警报管理器/唤醒锁定/睡眠处理代码?
关闭设备/模拟器的屏幕,然后运行以下命令:
adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step
重新运行第二个,直到收到消息“IDLE”。这适用于运行 Android 6.0 或更高版本的设备。
按下设备上的电源按钮应使其进入睡眠状态。PowerManager中还有一个goToSleep(long time)方法,但这需要DEVICE_POWER权限,该权限是为系统应用程序保留的。
如果您想在模拟器上进行测试,请从主屏幕按菜单 -> 设置 -> 应用程序 -> 开发 -> 取消选中保持清醒