2 votes

Modifier le délai de 30 secondes pour un PIN incorrect

Comment puis-je modifier/désactiver le délai de 30 secondes après avoir essayé 5 fois le mauvais code PIN ? L'appareil est un Nexus 7 rooté avec SmoothRom 4.4.

3voto

Jaskaranbir Singh Points 1368

Il est possible de le faire (en fait, tout est possible dans Android. C'est la beauté et la puissance d'Android en tant que source ouverte :) ). Vous devrez modifier le code source d'Android.

D'abord, une petite information. Ce texte est une chaîne de caractères qui réside dans frameworks_base/packages/Keyguard/res/values/strings.xml dans le code source d'Android.

La déclaration réelle de la chaîne est :

<string name="kg_too_many_failed_attempts_countdown">Try again in <xliff:g id="number">%d</xliff:g> seconds.</string>

Maintenant, comment modifier ce délai.

Les contrôles de l'écran de verrouillage sont contrôlés par une bibliothèque KeyguardSecurityContainer qui réside dans frameworks_base/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java

Vous devez modifier cette bibliothèque.

La méthode qui contrôle ce délai est showTimeoutDialog() .

Bien que le code puisse varier légèrement selon la rom et la version d'Android.

Par exemple, dans le CM 12, il est déclaré comme ceci->.

private void showTimeoutDialog() {
//This is likely the variable you need to assign your new value to
        int timeoutInSeconds = (int) LockPatternUtils.FAILED_ATTEMPT_TIMEOUT_MS / 1000;
        int messageId = 0;

        switch (mSecurityModel.getSecurityMode()) {
            case Pattern:
                messageId = R.string.kg_too_many_failed_pattern_attempts_dialog_message;
                break;
            case PIN:
                messageId = R.string.kg_too_many_failed_pin_attempts_dialog_message;
                break;
            case Password:
                messageId = R.string.kg_too_many_failed_password_attempts_dialog_message;
                break;
            // These don't have timeout dialogs.
            case Account:
            case Biometric:
            case Invalid:
            case None:
            case SimPin:
            case SimPuk:
                break;
        }

Comme vous pouvez le voir, vous devrez affecter votre nouvelle valeur à la variable timeoutInSeconds .

NOTE : Actuellement, la batterie de mon ordinateur portable est assez faible pour compiler et tester la rom avec des valeurs modifiées ou changées. Cette méthode n'a donc pas été testée. Veuillez effectuer toute modification à vos propres risques et après avoir effectué des sauvegardes appropriées. Au mieux, il pourrait s'agir d'un changement dans la variable qui contrôle le délai d'attente (puisque je n'ai fait qu'une lecture rapide). Mais c'est la bibliothèque qui contrôle les actions du keyguard.

En outre, sur la note latérale il pourrait y avoir une application tierce qui vous permet de le faire (bien qu'actuellement je ne connais pas une telle application. Mais au cas où il existe ...). Je vous ai indiqué un moyen direct de modifier la protection de votre écran de verrouillage.

J'espère que cela vous aidera.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X