我成功地在Android L中使用DevicePolicyManager
和KeyguardManager
來鎖定/解鎖我的屏幕。當我使用滑動模式(無安全性)鎖定/解鎖屏幕時,它運行良好。但是,當我使用模式和密碼模式鎖定/解鎖屏幕(更高的安全性)時,我無法鎖定/解鎖它。是否可以使用DevicePolicyManager
和KeyguardManager
以高安全性鎖定/解鎖屏幕。 ?這就是我所做的如何在Android中使用模式/密碼模式鎖定/解鎖屏幕?
protected static final int REQUEST_ENABLE = 0;
DevicePolicyManager devicePolicyManager;
ComponentName adminComponent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.btn);
button.setOnClickListener(btnListener);
}
//LOCK
Button.OnClickListener btnListener = new Button.OnClickListener() {
public void onClick(View v) {
adminComponent = new ComponentName(MainActivity.this, Darclass.class);
devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (!devicePolicyManager.isAdminActive(adminComponent)) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, adminComponent);
startActivityForResult(intent, REQUEST_ENABLE);
} else {
devicePolicyManager.lockNow();
}
}
};
//UNLOCK
private KeyguardManager keyguardManager;
KeyguardManager.KeyguardLock kl;
keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
kl = keyguardManager.newKeyguardLock("MyKeyguardLock");
kl.disableKeyguard();
請注意,我在服務中使用它。
首先,我在使用服務中的功能,我認爲你的選擇不適合我的情況。其次,我在我的代碼(服務)中試過了,它不起作用 – user3051460