Android中提供了一個名為WakeLock的類在android.os.PowerManager.WakeLock中,從名字來看WakeLock是喚醒鎖的意思,它可以控制屏幕的背光開關,所以在電源管理類。
WakeLock實例化方法比較簡單,因為是系統的遠程服務,通過下面的代碼來構造
代碼如下:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "Android123"); //最後一個參數為實例名,可以換成其他的。
wl.acquire(); //喚醒點亮屏幕
//這個期間屏幕將點亮
wl.release(); //恢復屏幕到黑暗
當然Android考慮到安全並不是說開發者有了權限,就可以隨意的控制屏幕的背光顯示或無,只有通過acquire點亮的背光才能使用release讓其關閉背光,如果直接調用release方法關閉屏幕將會產生一個異常。
從Android 2.1 API Level7開始增加了一個判斷屏幕是否處於點亮狀態可以使用public boolean isScreenOn ()這個方法,代碼為
代碼如下:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = pm.isScreenOn();
而對於Android 2.2 API Level為8時增加了一個reboot(),可以重啟手機進入恢復模式,同時你需要申請權限 來實現,不過Android開發網不保證該方法在所有固件上有效,部分廠商考慮到安全並沒有開發這個重啟方法。