0
我正在使用PowerManager.WakeLock在設備的某些狀態期間不讓設備自動進入睡眠狀態。但是,如果用戶按下電源按鈕,我希望設備關閉電源。有WakeLock標誌可以做到嗎?或者當用戶按下電源按鈕時是否可以收到通知?當按下電源按鈕時,PowerManager.WakeLock不活動
我正在使用PowerManager.WakeLock在設備的某些狀態期間不讓設備自動進入睡眠狀態。但是,如果用戶按下電源按鈕,我希望設備關閉電源。有WakeLock標誌可以做到嗎?或者當用戶按下電源按鈕時是否可以收到通知?當按下電源按鈕時,PowerManager.WakeLock不活動
是否有WakeLock標誌可以做到這一點?
任何WakeLock
類型不是PARTIAL_WAKE_LOCK
會產生這種效果。引用the documentation:
如果您持有部分激活鎖定,CPU將繼續不論任何計時器,甚至在用戶按下電源按鈕後運行。在所有其他喚醒鎖中,CPU將運行,但用戶仍然可以使用電源按鈕使設備進入睡眠狀態。
應該只持有要運行完成(例如,大文件下載)工作背景的部分WakeLock
,然後釋放WakeLock
。
或者當用戶按下電源按鈕時可以收到通知嗎?
沒有抱歉。
謝謝。我重新閱讀文檔並檢查了我的代碼。你的解釋幫助我看到我的問題是什麼。我實際上是在使用SCREEN_DIM_WAKE_LOCK | ON_AFTER_RELEASE。當我的活動暫停時,我正在釋放喚醒鎖。這是在按下電源按鈕時發生的。然後,因爲正在使用ON_AFTER_RELEASE,屏幕將立即恢復供電。 – 2012-03-08 16:25:34
Intent.ACTION_SCREEN_OFF和Intent.ACTION_SCREEN_ON,如果你正在創建一個可能需要保存狀態或響應用戶屏幕進入睡眠/喚醒狀態的應用程序,它將會很好用。 – ozmank 2012-10-18 06:35:31