Android螢幕解鎖&點亮螢幕(來電效果)
Android螢幕解鎖&點亮螢幕(來電效果)
資料來源:http://hung-dn.blogspot.tw/2014/03/android_25.html
當Android手機(應該是所有的手機都這樣)收到短信或者電話時,會自動點亮屏幕,解開屏幕鎖,以方便用戶即時操作,下面用代碼來實現這一功能:
//–
<uses-permission android:name=”android.permission.WAKE_LOCK” />
<uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />
//–
各種WakeLock的類型對CPU 、屏幕、鍵盤的影響:
PARTIAL_WAKE_LOCK:保持CPU 運轉,屏幕和鍵盤燈有可能是關閉的。
SCREEN_DIM_WAKE_LOCK:保持CPU 運轉,允許保持屏幕顯示但有可能是灰的,允許關閉鍵盤燈
SCREEN_BRIGHT_WAKE_LOCK:保持CPU 運轉,允許保持屏幕高亮顯示,允許關閉鍵盤燈
FULL_WAKE_LOCK:保持CPU 運轉,保持屏幕高亮顯示,鍵盤燈也保持亮度
ACQUIRE_CAUSES_WAKEUP:強制使屏幕亮起,這種鎖主要針對一些必須通知用戶的操作.
ON_AFTER_RELEASE:當鎖被釋放時,保持屏幕亮起一段時間
//—
PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
//獲取電源管理器對象
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, “bright”);
//獲取PowerManager.WakeLock對象,後面的參數|表示同時傳入兩個值,最後的是LogCat裡用的Tag
wl.acquire();
//點亮屏幕
wl.release();
//釋放
KeyguardManager km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
//得到鍵盤鎖管理器對象
KeyguardLock kl = km.newKeyguardLock(“unLock”);
//參數是LogCat裡用的Tag
kl.disableKeyguard();
//解鎖