告诉Android设备何时处于睡眠模式
有没有办法判断Android设备何时处于睡眠模式?在测试我的应用程序时,我按下电源按钮关闭屏幕,需要等待睡眠模式激活。然后,我使用谷歌云消息(GCM)向我的设备发送消息,然后在消息到达时播放声音和通知。但如果我在睡眠模式激活前发送此消息,然后,我不确定它是否收到了消息,因为它仍然处于活动状态,还是因为我的服务程序是由GCM广播接收器启动的。您可以使用android.intent.action.screen\u offintent来确定屏幕何时关闭的,但就我所知,不确定设备是否处于睡眠模式知道。没有确定的方法可以知道设备是否处于睡眠状态。但是考虑到在睡眠模式下,设备应该以最小的频率运行,cpu消耗应该最小,我们可以做出有根据的猜测 要查找设备的当前频率,我们可以使用adb shell中的告诉Android设备何时处于睡眠模式,android,sleep,Android,Sleep,有没有办法判断Android设备何时处于睡眠模式?在测试我的应用程序时,我按下电源按钮关闭屏幕,需要等待睡眠模式激活。然后,我使用谷歌云消息(GCM)向我的设备发送消息,然后在消息到达时播放声音和通知。但如果我在睡眠模式激活前发送此消息,然后,我不确定它是否收到了消息,因为它仍然处于活动状态,还是因为我的服务程序是由GCM广播接收器启动的。您可以使用android.intent.action.screen\u offintent来确定屏幕何时关闭的,但就我所知,不确定设备是否处于睡眠模式知道。没
cat/sys/devices/system/cpu/cpu0/cpufreq
,要查找cpu使用情况,请查看以下链接:
我不确定这些查询本身是否会唤醒设备。您无法在应用程序级别判断,因为当设备处于睡眠状态时,cpu停止工作,并且没有代码在执行。您可以使用信息非常丰富的dumpsys命令来查找它 下面是一个单行adb命令:
adb shell'如果[-z$(dumpsys power | grep mScreenOn=true)];然后回声消失;否则就回响;fi'
这可能会有帮助: