2016-05-04 5 views
1

ich Reflexion bin mit meinem Gerät Bildschirm Einstellung Tastensperre zu entsperren als disabled.my Android-Version ist i Ausnahme als java.lang.reflect.InvocationTargetException erhalten 4.4.2.while Aufrufen und verursachen als java.lang.SecurityException: LockSettingsWrite: Weder Benutzer 10096 noch aktueller Prozess hat android.permission.ACCESS_KEYGUARD_SECURE_STORAGE.set Gerät Bildschirmsperre entriegeln Reflexion mit

ich meinen Code teilen bin mir bitte sagen, wie diese Ausnahme zu beseitigen

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(); 
} 
+0

Ist Ihr Code perfekt in Jellybean läuft ??? –

+0

Nun, ich habe nicht versucht, weil meine Anforderung spezifisch für kitkat ist – tanmeet

Antwort

0

Warum diese Fehler in KitKat Tritt:

In KitKat Android bewegt, um die Sicherheitsdatenbanken von den Anwendungsdatum Bereich (/ data/data) zum Systemdatenbereich (/ data/system).

Ref

+0

Vielen Dank eine perfekte Antwort.Allerdings kann ich nicht für Sie für meine Reputationsbewertung abstimmen istill.Wever vielen Dank – tanmeet

+0

Wenn es geholfen hat, können Sie die Antwort akzeptieren . :) –