2011-07-25 27 views
2

如前所述由AlarmManager文檔:服務和Wake鎖定政策

http://developer.android.com/reference/android/app/AlarmManager.html#RTC_WAKEUP

這意味着手機會在某些情況下,只要你的onReceive()方法完成睡覺。如果您的警報接收器調用了Context.startService(),則在請求的服務啓動之前,手機可能會睡眠。爲了防止這種情況發生,您的BroadcastReceiver和Service將需要實施單獨的喚醒鎖定策略,以確保手機繼續運行直到服務變爲可用。

從我所看到和讀到這裏: http://www.androidguys.com/2009/04/02/wake-up-with-the-alarm/ https://github.com/commonsguy/cw-advandroid/blob/master/SystemServices/Alarm/src/com/commonsware/android/syssvc /alarm/WakefulIntentService.java

那傢伙持有到喚醒鎖定通過不僅僅是直到它變爲可用的服務。所以我的問題是,服務是否允許CPU進入睡眠狀態,如果它沒有運行的喚醒策略的服務?

回答

0

所以我的問題是,如果服務沒有通過服務運行的喚醒策略,服務是否允許CPU休眠?

當然。想想一個關閉蓋子時睡覺的筆記本電腦(愚蠢的默認設置)。某處的某些方法將被中斷 - 無論它是當前正在運行的應用程序的main()方法

+0

您能告訴我如何在服務或broadcastreceiver中實現喚醒鎖定策略嗎?謝謝。 –