1. 程式人生 > >Android螢幕常亮防息屏

Android螢幕常亮防息屏

Android螢幕常亮防息屏


PowerManager
主要是用來控制電源狀態的. 通過使用該類提供的api可以控制電池的待機時間
儘可能的使用最低級別的WakeLocks鎖,並且確保使用完後釋放它
使用 WakeLock得加 許可權


<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.DEVICE_POWER"/>

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.flag, "MyTag"
); // 螢幕將停留在設定的狀態,一般為亮、暗狀態 wl.acquire(); // 釋放掉正在執行的cpu或關閉螢幕。 wl.release(); PowerManager.flag cpu screen keyboard PARTIAL_WAKE_LOCK on off off SCREEN_DIM_WAKE_LOCK on dim off SCREEN_BRIGHT_WAKE_LOCK on bright off
FULL_WAKE_LOCK on bright bright

除了PARTIAL_WAKE_LOCK 其他的在API17以上都被禁止用了

如果你持有PARTIAL_WAKE_LOCK鎖,不論任何定時器甚至是按下電源按鈕,cpu都將繼續執行,無法進入休眠狀態。除非你釋放掉它。
其他鎖的話,雖然cpu也在執行,但是當用戶按下電源按鈕時,裝置將立刻進入休眠狀態

2 WindowManager.LayoutParams中:

window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

用於當前 Activity顯示給使用者 則螢幕常亮(不管系統設定幾秒息屏)但是 Activity 不顯示 則還是會息屏

3 可見的 View 呼叫 setKeepScreenOn() 方法來設定螢幕常亮

4 MediaPlayer的 setScreenOnWhilePlaying()

5 xml的根檢視中放置android:keepScreenOn =“true”