2012-10-04 157 views
20

我正在開發一款應用程序,我必須以編程方式鎖定和解鎖屏幕。請幫助!我不知道如何開發支持每個Android OS版本的這種類型的功能。以編程方式安卓屏幕鎖定/解鎖

+0

退房這個職位。它可能會幫助你。 [鎖定/解鎖屏幕] [1] [1]:http://stackoverflow.com/a/9193501/1177482 –

+0

爲什麼14個upvotes? –

+0

檢查https://github.com/amirarcane/lock-screen –

回答

13

此鏈接可能會幫助您解決問題:

Unlock and Lock Programmatically

//Get the window from the context  
WindowManager wm = Context.getSystemService(Context.WINDOW_SERVICE); 

//Unlock 
Window window = getWindow(); 
window.addFlags(wm.LayoutParams.FLAG_DISMISS_KEYGUARD); 

//Lock device 
DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 
+0

在鏈接中有短內容的情況下,您可以在這裏粘貼以防止頁面死掉。 –

+0

謝謝Rajeev :) – Amit

+1

沒有在ICS 4.0.4上工作:) – Amit

25

解鎖

KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); 
final KeyguardManager.KeyguardLock kl = km .newKeyguardLock("MyKeyguardLock"); 
kl.disableKeyguard(); 

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK 
           | PowerManager.ACQUIRE_CAUSES_WAKEUP 
           | PowerManager.ON_AFTER_RELEASE, "MyWakeLock"); 
wakeLock.acquire(); 
+0

工作像魅力感謝 –

+1

爲我工作。但會出現不建議使用的方法警告。 – MSaudi

+0

像Zalo應用程序,Viber應用程序工作...真的很好。 –