我正在創建一個Service
,它將被設置爲開始使用AlarmManager
(使用ELAPSED_REALTIME_WAKEUP
)。我做onStartCommand
方法在我的所有的處理,主要是因爲:如果我不創建線程,是否需要獲取WakeLock?
- 它並不需要很長時間(從磁盤中讀取小的文件,也許通過
NotificationManager
推送通知) - 我可以很容易地將它設置在單獨的開始過程如果我需要。
在這些情況下,我還需要獲得WakeLock嗎?
據我所知,只有在創建單獨的線程時(因爲操作系統將主線程看作空閒並進入休眠狀態),您必須獲得一個WakeLock。這是真的還是我仍然有可能被操作系統打斷...打瞌睡?
「我認爲Mark或某人可能有此幫助程序代碼。」 - 這可能是指我的'WakefulIntentService' :https://github.com/commonsguy/cwac-wakeful – CommonsWare 2011-05-30 18:11:28