use*_*460 13 android android-screen android-5.0-lollipop
我成功锁定/解锁使用我的屏幕DevicePolicyManager和KeyguardManagerAndroid中L.它运作良好,当我用划模式(无安全性)锁定/解锁屏幕.但是,当我使用模式和密码模式锁定/解锁屏幕时,我无法锁定/解锁它(更高的安全性).是否可以使用DevicePolicyManager和以高安全性锁定/解锁屏幕KeyguardManager.?这就是我做的
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();
Run Code Online (Sandbox Code Playgroud)
请注意,我在服务中使用它.
您提到您正在服务中使用代码,但是在构造 adminComponent ComponentName 对象时,您提供 MainActivity.this 作为您的上下文!如果您的 MainActivity 当前未运行,MainActivity.this 可能为 NULL。
我建议您使用 Service 类作为 Context 来启动 adminComponent。
| 归档时间: |
|
| 查看次数: |
1196 次 |
| 最近记录: |