首页 > 代码库 > 解决图案解锁问题

解决图案解锁问题

1、输入错误次数超过5次后,倒计时到1秒停留时间太长

2、有时无30S提示输入界面会出现几次可输入的情况

3、锁屏界面画错5次图案,点按提示框中的OK后,界面倒计时显示 剩余解锁秒数,按键锁屏半分钟后唤醒,界面还是显示之前锁屏时的秒数

4、锁屏界面画错5次图案,点按提示框中的OK后,有时无30s倒计时提示只显示wrong pattern,立刻可以继续进行解锁操作

碰到这类情况的基本上是在reset的时候没有处理好

1、修改路径:frameworks/base/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java

2、修改方法:

public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
     }
 
     public void reset() {

         // reset lock pattern
-        mLockPatternView.enableInput();
-        mLockPatternView.setEnabled(true);
-        mLockPatternView.clearPattern();
+        //mLockPatternView.enableInput();
+        //mLockPatternView.setEnabled(true);
+        //mLockPatternView.clearPattern();

 
         // if the user is currently locked out, enforce it.
         long deadline = mLockPatternUtils.getLockoutAttemptDeadline();
         if (deadline != 0) {
             handleAttemptLockout(deadline);
         } else {

+            // reset lock pattern
+            mLockPatternView.enableInput();
+            mLockPatternView.setEnabled(true);
+            mLockPatternView.clearPattern();  

             displayDefaultSecurityMessage();
         }
 
@@ -214,7 +222,8 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
         if (KeyguardUpdateMonitor.getInstance(mContext).getMaxBiometricUnlockAttemptsReached()) {
             mSecurityMessageDisplay.setMessage(R.string.faceunlock_multiple_failures, true);
         } else {
-            mSecurityMessageDisplay.setMessage(R.string.kg_pattern_instructions, false);
+            mSecurityMessageDisplay.setMessage(R.string.kg_pattern_instructions, true);
         }
     }


解决图案解锁问题