ENV: Android M 6.0.1

import android.os.UserHandle;
        import com.android.internal.widget.LockPatternUtils;
        import android.app.admin.DevicePolicyManager;

LockPatternUtils mLockPatternUtils = new LockPatternUtils(mContext);
        int userId = UserHandle.myUserId();
        boolean lockScreenDisabled = mLockPatternUtils.isLockScreenDisabled(userId);
        boolean security = mLockPatternUtils.isSecure(userId);
        boolean isLockPasswordEnabled = mLockPatternUtils.isLockPasswordEnabled(userId);
        boolean isLockPatternEnabled = mLockPatternUtils.isLockPatternEnabled(userId);

final int quality = mLockPatternUtils.getKeyguardStoredPasswordQuality(userId);

Log.d(TAG, "lockScreenDisabled = " + lockScreenDisabled);
        Log.d(TAG, "security = " + security);
        Log.d(TAG, "isLockPasswordEnabled = " + isLockPasswordEnabled);
        Log.d(TAG, "isLockPatternEnabled = " + isLockPatternEnabled);
        Log.d(TAG, "quality = " + quality);

switch (quality) {
            case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
            case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
                if (mLockPatternUtils.isLockPasswordEnabled(userId)) {
                    Log.d(TAG, "PIN码 安全模式");
                }
                break;
            case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
            case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
            case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
                if (mLockPatternUtils.isLockPasswordEnabled(userId)) {
                    Log.d(TAG, "密码 安全模式");
                }
                break;

case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
            case DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED:
                if (mLockPatternUtils.isLockPatternEnabled(userId)) {
                    Log.d(TAG, "图案 安全模式");
                }
                break;
         }

打印Log
zhanghu@winth:~$ adb logcat -s LockPatternUtilsHelp
--------- beginning of system
--------- beginning of main

//图案
11-02 14:36:22.721  4896  4896 D LockPatternUtilsHelp: lockScreenDisabled = false
11-02 14:36:22.721  4896  4896 D LockPatternUtilsHelp: security = true
11-02 14:36:22.721  4896  4896 D LockPatternUtilsHelp: isLockPasswordEnabled = false
11-02 14:36:22.721  4896  4896 D LockPatternUtilsHelp: isLockPatternEnabled = true
11-02 14:36:22.722  4896  4896 D LockPatternUtilsHelp: quality = 65536
11-02 14:36:22.722  4896  4896 D LockPatternUtilsHelp: 图案 安全模式

//PIN码
11-02 14:37:34.748  4896  4896 D LockPatternUtilsHelp: lockScreenDisabled = false
11-02 14:37:34.748  4896  4896 D LockPatternUtilsHelp: security = true
11-02 14:37:34.748  4896  4896 D LockPatternUtilsHelp: isLockPasswordEnabled = true
11-02 14:37:34.748  4896  4896 D LockPatternUtilsHelp: isLockPatternEnabled = false
11-02 14:37:34.748  4896  4896 D LockPatternUtilsHelp: quality = 131072
11-02 14:37:34.748  4896  4896 D LockPatternUtilsHelp: PIN码 安全模式

// 密码
11-02 14:38:10.930  4896  4896 D LockPatternUtilsHelp: lockScreenDisabled = false
11-02 14:38:10.930  4896  4896 D LockPatternUtilsHelp: security = true
11-02 14:38:10.930  4896  4896 D LockPatternUtilsHelp: isLockPasswordEnabled = true
11-02 14:38:10.930  4896  4896 D LockPatternUtilsHelp: isLockPatternEnabled = false
11-02 14:38:10.930  4896  4896 D LockPatternUtilsHelp: quality = 327680
11-02 14:38:10.931  4896  4896 D LockPatternUtilsHelp: 密码 安全模式

// 滑动
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: lockScreenDisabled = false
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: security = false
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: isLockPasswordEnabled = false
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: isLockPatternEnabled = false
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: quality = 0

// 无
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: lockScreenDisabled = true
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: security = false
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: isLockPasswordEnabled = false
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: isLockPatternEnabled = false
11-02 14:36:58.968  4896  4896 D LockPatternUtilsHelp: quality = 0

一 如何判断当前锁定方式是否为"无"?
通过LockPatternUtils类的isLockScreenDisabled判断

二 如何判断当前锁定方式是否为"滑动"?
通过LockPatternUtils类的! isSecure方法和! isLockScreenDisabled方法判断

三 如何判断当前锁定方式是否为"安全密码"锁屏?
通过LockPatternUtils类的isSecure方法和getKeyguardStoredPasswordQuality方法判断

PS:LockPatternUtils类为平台内部类,第三方应用层无法获取该类,可考虑通过反射调用亦可考虑其他方式判断

最新文章

  1. Replication的犄角旮旯(九)-- sp_setsubscriptionxactseqno,赋予订阅活力的工具
  2. SOLID原则
  3. <button>属性,居然才发现
  4. 进入IT企业必读的200个.NET面试题
  5. 非线性数据拟合-nls
  6. 使用TransactionScopeOption 管理事务流
  7. url 转码 urlencode和 urldecode
  8. 使用eclipse编译调试c++
  9. Allegro设置十字大光标
  10. jquery初步总结
  11. 纯css 构造的tip
  12. 【JAVAWEB学习笔记】17_jsp
  13. ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范
  14. The first week CorelDRAW 课总结:
  15. pycharm远程同步服务器代码,并设置权限
  16. Linux-基础学习(五)-mariadb主从复制以及redis学习
  17. VS Code & MacOS & Zsh
  18. 中标麒麟(linux)下Qt调用python
  19. 5、Python-字典
  20. 【转】iOS 自动化性能采集

热门文章

  1. java中静态方法的使用
  2. dubbo 常见错误 通配符的匹配很全面, 但无法找到元素 'dubbo:application' java.lang.reflect.MalformedParameterizedTypeException 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明。 Unsupported major.minor version 52.0 (unable to l
  3. Java 中的异常和处理详解
  4. Jquery easyui教程
  5. 231个javascript特效分享
  6. linux -- ubuntu 通过命令行,设置文件及其子文件的权限
  7. QHeaderView的点击和双击事件
  8. 未能在当前目标框架中解析主引用“System.Net.Http”,它是一个框架程序集。“.NETFramework,Version=v4.0”。若要解决此问题,请移除引用“System.Net.Http”,或将应用程序的目标重新指向包含“System.Net.Http”的框架版本。 Zephyr.Web
  9. 【python】\\u的字符编码问题
  10. jQuery对象的链式操作用法分析