Définir lockscreen à "None" par programme?
J'ai l'obligation de désactiver l'écran de verrouillage et réglez l'écran de verrouillage de type "Aucun". Mon appareil est enracinée (peut fonctionner avec la LIGUE de l'autorisation) + peut fonctionner comme une application du système avec le système d'autorisations (dans /system/app).
J'ai essayé quelques petites choses en vain.
Essayez 1
Cela semble être obsolète et ne fonctionne pas.
KeyguardManager manager = (KeyguardManager) this.getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = manager.newKeyguardLock("abc");
lock.disableKeyguard();
Essayer 2
Cela ne fonctionne pas non plus.
- De montage de la partition système en écriture
- Modifier
/data/data/com.android.providers.settings/databases/settings.db
- Exécuter la requête SQL suivante.
INSERT OR REPLACE INTO system (name, value) VALUES ('lockscreen.disabled', '1');
INSERT OR REPLACE INTO secure (name, value) VALUES ('lockscreen.disabled', '1');
Essayez 3
Redémarré la machine, mais toujours pas de chance.
android.provider.Settings.Secure.putLong(mContentResolver, Settings.Secure.LOCK_PATTERN_ENABLED, false);`
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.password_type", DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);`
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.password_type_alternate", DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.disabled", true);
Est-il autre chose que je peux essayer?
Veuillez noter que je ne veux pas désactiver le verrouillage du clavier uniquement lorsque l'application est en cours d'exécution.
source d'informationauteur Ranhiru Cooray | 2014-03-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer ceci:
Il fonctionne sur mon Nexus enracinée 4.
Après avoir cherché un peu dans l'android source je m'en tiens maintenant à l'intérieur d'une fonction appelée
onPreferenceTreeClick
de la classeChooseLockGeneric
qui semble être appelée lorsque la méthode de déverrouillage est choisi (dans les préférences).Dans la méthode
updateUnlockMethodAndFinish
est appelé, ce qui définit la méthode de déverrouillage. Alors peut-être appelerupdateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED,true);
pourrait être exactement ce que vous voulez.Je ne sais pas si cette fonction de vos besoins et de ne pas savoir si cela fonctionne (il peut y avoir de la visibilité des problèmes ou des mécanismes de sécurité). Je suis juste spéculer.
EDIT:
Cela pourrait aider aussi:
startFragment(this,"com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",SET_OR_CHANGE_LOCK_METHOD_REQUEST, null);
J'ai essayé de modifier /data/system/locksettings.db comme il a été suggéré par @ByteHamster, avec pas de chance.
J'ai ensuite renommé le
locksettings.db
àlocksettings.db.old
et redémarré. Le lockscreen a disparu et Android reconstruit lelocksettings.db
fichier lui-même.Je suis en utilisant TWRP recovery sur un Samsung Galaxy S4.
vous devez déclarer ce uses-permission sur AndroidManifest:
Et dans votre code:
lorsque votre application est détruit ou mis en pause pour libérer ce verrou à l'aide ci-dessous:
J'ai proposé d'appeler le acquérir à l'intérieur de la onResume() de votre activité et la libération dans onPause().
Je voudrais explorer exilit réponse. À partir de la source, nous arrivons finalement à ceci:
La utils est le
com.android.internal.widget.LockPatternUtils
objet et nous pouvons en quelque sorte de l'obtenir par la réflexion.Voici le code:
Bien mes tests app est signé avec la clé de plateforme et une application système. Je pense que ça va être un must.
J'ai pris de la racine de la tablette,
Voici ma procédure complète
adb push sqlite3 /sdcard/sqlite3
adb shell
su
mount-o remount,rw /système de
cp /sdcard/sqlite3 /system/xbin/sqlite3
chmod 755 /system/xbin/sqlite3
mount-o remount,ro /système
adb shell sqlite3 /data/system/locksettings.db
Mise à JOUR locksettings SET value = '1' WHERE nom = 'lockscreen.handicapées"
Vous pouvez télécharger le fichier à partir de http://www.digitechhub.com/sqlite3