मैं एंड्रॉइड एल में DevicePolicyManager
और KeyguardManager
का उपयोग करके अपनी स्क्रीन को लॉक/अनलॉक करने में सफल रहा। यह स्वाइप मोड (कोई सुरक्षा नहीं) का उपयोग करके स्क्रीन लॉक/अनलॉक करते समय अच्छा काम करता था। हालांकि, जब मैं पैटर्न और पासवर्ड मोड (उच्च सुरक्षा) का उपयोग करके स्क्रीन को लॉक/अनलॉक करता हूं तो मैं इसे लॉक/अनलॉक नहीं कर सकता। 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();
ध्यान दें कि, मैं इसे एक सेवा में उपयोग कर रहा हूं।
सबसे पहले, मैं सेवा में फ़ंक्शन का उपयोग कर रहा हूं, मुझे लगता है कि आपका विकल्प मेरे मामले के लिए उपयुक्त नहीं है। दूसरा, मैंने इसे अपने कोड (सेवा) में आजमाया और यह काम नहीं करता है – user3051460