如何在android中以编程方式打开设备锁?

时间:2013-09-18 09:30:33

标签: android

我可以使用以下代码锁定我的设备,例如

//初始化Device Policy Manager服务和我们的接收器类

devicePolicyManager =(DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
demoDeviceAdmin = new ComponentName(this, DemoDeviceAdminReceiver.class);

devicePolicyManager.lockNow();

但是一旦我这样做(意味着通过上面的代码在android中锁定我的设备)我怎么能在我需要的时候在android中以编程方式打开这个锁?要锁定我使用后台服务的设备,那么是否有任何解决方案可以创建任何服务来重新打开我的设备锁?

2 个答案:

答案 0 :(得分:0)

看看这个:

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

//Unlock
//http://developer.android.com/reference/android/app/Activity.html#getWindow()
Window window = getWindow();  
window.addFlags(wm.LayoutParams.FLAG_DISMISS_KEYGUARD);  

答案 1 :(得分:0)

试试这个

 PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
 PowerManager.WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE), "TAG");
 wakeLock.acquire();
 wakeLock.release();

我用这个为我工作。