Привет, команда Доброе утро! Сейчас я работаю над блокировкой устройства Android.
Мне нужно заблокировать свое устройство (android 2.3.3) с помощью клавиш устройства Volume_up и Volume_down. В этом случае, если клавиша volume_up нажата, устройство должно блокироваться, если я нажимаю volume_down, устройство должно разблокироваться. вот мой метод.
private void lockNow() {
if ((dpm.getActiveAdmins() != null) && (dpm.isAdminActive(secureLock))) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, secureLock);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "is locked");
dpm.lockNow();
dpm.setMaximumTimeToLock(secureLock, 0);
intent.putExtra("force-locked", DeviceAdminInfo.USES_POLICY_FORCE_LOCK);
startActivityForResult(intent, Extra_Activity);
} else {
Log.d("The Device", "Could not lock because device admin not enabled");
}
}
Этот метод lockNow (), используемый в томе onKeyUp
Manifest:
<receiver
android:description="@string/admin_app_description"
android:label="@string/admin_app"
android:name="app_class_name$MyAdmin"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/admin_app_resource" />
<intent-filter >
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" >
</uses-permission>
Настоящее устройство не блокируется и не содержит ошибок. Кто-нибудь может мне помочь из этого?
Примечание: он не будет работать с keygaurdmanager и powermanager.