установить разблокировку экрана устройства с помощью отражения

Я использую отражение, чтобы разблокировать экран моего устройства, устанавливая keyguard как disabled. Моя версия Android - 4.4.2. При вызове я получаю исключение как java.lang.reflect.InvocationTargetException и вызываю как java. lang.SecurityException: LockSettingsWrite: ни пользователь 10096, ни текущий процесс не имеют android.permission.ACCESS_KEYGUARD_SECURE_STORAGE.

я делюсь своим кодом, пожалуйста, скажите мне, как исправить это исключение

try{
   Class lockPatternUtilsCls = Class.forName("com.android.internal.widget.LockPatternUtils");
   Constructor lockPatternUtilsConstructor = lockPatternUtilsCls.getConstructor(new Class[]{Context.class});
   Object lockPatternUtils = lockPatternUtilsConstructor.newInstance(ChangeDeviceLockMode.this);

   Method clearLockMethod = lockPatternUtils.getClass().getMethod("clearLock", boolean.class);
   clearLockMethod.setAccessible(true);
   Method setLockScreenDisabledMethod = lockPatternUtils.getClass().getMethod("setLockScreenDisabled", boolean.class);
   setLockScreenDisabledMethod.setAccessible(true);
   clearLockMethod.invoke(lockPatternUtils, false);
   setLockScreenDisabledMethod.invoke(lockPatternUtils, true);     
   Toast.makeText(ChangeDeviceLockMode.this,"none", Toast.LENGTH_LONG).show();  
}catch(Exception e){
   System.err.println("An InvocationTargetException was caught!");
   Throwable cause = e.getCause();

   Toast.makeText(ChangeDeviceLockMode.this,"none"+e, Toast.LENGTH_LONG).show();  
}
Toast.makeText(ChangeDeviceLockMode.this,"Yupiee!!! Password changed successfully to swipe", Toast.LENGTH_LONG).show();  
}

person tanmeet    schedule 04.05.2016    source источник
comment
Ваш код отлично работает в Jellybean???   -  person Nadeem Iqbal    schedule 04.05.2016
comment
Ну, я не пробовал, потому что мое требование относится к киткат   -  person tanmeet    schedule 04.05.2016


Ответы (1)


Почему эта ошибка возникает в KitKat:

В KitKat Android базы данных безопасности перемещены из области данных приложения (/data/data) в область системных данных (/data/system).

Ref

person Nadeem Iqbal    schedule 04.05.2016
comment
Большое спасибо, отличный ответ. Однако я не могу проголосовать за вас, потому что моя оценка репутации все еще 11. Однако большое спасибо. - person tanmeet; 04.05.2016