2012-04-07 55 views
1

我想僅在用戶處於活動狀態或更一般時才運行Service:手機處於活動狀態。當屏幕關閉時,服務不需要運行。但只要用戶解鎖他的手機,我就希望該服務再次運行。如何僅在用戶/手機處於活動狀態時運行服務?

我該如何實現這種行爲?

我的實際任務:我想捕獲logcat。因此我創建了一個Service,它產生一個讀取「logcat」進程輸出的線程。

究竟怎樣的是後臺線程的行爲時,手機被鎖定?它不包含任何喚醒鎖或東西。當手機進入睡眠狀態時,Android會暫停該線程,還是使該線程保持Android不進入睡眠狀態?手機醒來後又會如何恢復?

我也想過通過註冊該'AlarmManager'激發每15分鐘和解析的logcat報警。但採用這種方法,我可能會錯過一些logcat行。

回答

1

對於重新啓動服務:可以註冊ACTION_USER_PRESENTACTION_SCREEN_ON接收機:當用戶是本設備醒來(例如當鍵盤鎖消失)之後這個意圖由系統發送的信息(當電話處於活動狀態)。或當手機屏幕上。

對於停止服務:使用ACTION_SCREEN_OFF意圖此意圖通過deivce發送當用戶不存在或移動屏幕關閉

相關問題