解鎖、喚醒螢幕用到KeyguardManager,KeyguardLock,PowerManager,PowerManager.WakeLock
要求的權限:
複製代碼 代碼如下:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
複製代碼 代碼如下:
//鎖屏、喚醒相關
private KeyguardManager km;
private KeyguardLock kl;
private PowerManager pm;
private PowerManager.WakeLock wl;
private void wakeAndUnlock(boolean b)
{
if(b)
{
//擷取電源管理器對象
pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
//擷取PowerManager.WakeLock對象,後面的參數|表示同時傳入兩個值,最後的是調試用的Tag
wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");
//點亮螢幕
wl.acquire();
//得到鍵盤鎖管理器對象
km= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
kl = km.newKeyguardLock("unLock");
//解鎖
kl.disableKeyguard();
}
else
{
//鎖屏
kl.reenableKeyguard();
//釋放wakeLock,關燈
wl.release();
}
}