2013-07-09 113 views
1

有什麼方法可以告訴Android設備何時處於睡眠模式?在測試我的應用時,我按下電源按鈕關閉屏幕,需要等到睡眠模式激活。然後,我會使用Google Cloud Messaging(GCM)將消息發送到我的設備,然後在它到達時播放聲音和通知。但是,如果我在睡眠模式處於活動狀態之前發送此消息,那麼我不確定它是否收到了該消息,因爲它仍然存在,或者由於我的服務例程是由GCM廣播接收器啓動的。告訴Android設備處於睡眠模式時

+0

這可能幫助:http://stackoverflow.com/questions/15620139/when-android-device-goes-to-sleep-mode – Jong

回答

1

您可以使用android.intent.action.SCREEN_OFF意圖瞭解何時屏幕熄滅,但沒有意圖確定設備是否處於睡眠模式,據我所知。

1

沒有確定的方法知道設備是否正在睡覺。但考慮到在睡眠模式下,設備應該以最低頻率運行,並且CPU消耗應該很小,我們可以進行有根據的猜測。

要查找設備的當前頻率,我們可以使用cat /sys/devices/system/cpu/cpu0/cpufreq亞行外殼和發現CPU的使用率看看這個鏈接:Get Memory Usage in Android

我不知道但如果這些查詢將自己喚醒設備。

0

你不能在應用程序級別上知道,因爲當設備處於睡眠狀態時,CPU停止工作,並且沒有任何代碼正在執行。

0

您可以使用非常豐富的dumpsys命令來查找它。

這裏是一個班輪ADB命令:

adb shell 'if [ -z $(dumpsys power | grep mScreenOn=true) ]; then echo off; else echo ON; fi'

相關問題