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类为平台内部类,第三方应用层无法获取该类,可考虑通过反射调用亦可考虑其他方式判断

【Android M】获取屏幕锁定的相关信息:“无”,“滑动”,“PIN码”,"图案","密码"的更多相关文章

  1. android 获取 imei号码 及相关信息

    android 获取 imei号码 参考:http://www.cnblogs.com/luxiaofeng54/archive/2011/03/01/1968063.html 核心代码: Imei ...

  2. AD命令获取计算机、用户相关信息

    1. 获取AD用户相关信息(用户名.创建日期.最后修改密码日期.最后登录日期) Get AD users, Name/Created Date/Last change passwd Date/Last ...

  3. android中获取屏幕的信息

    获取屏幕信息比较简单,可以通过android的sdk自带的工具类DisplayMetrics.话不多说,上代码: // 获取屏幕的信息 DisplayMetrics dm = new DisplayM ...

  4. android DisplayMetrics 获取屏幕分辨率

    Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显 ...

  5. Android之获取屏幕的尺寸像素及获取状态栏标题栏高度

    在Android的实际开发中,会经常用到获取屏幕的尺寸的问题,以便设置一些布局在屏幕上的固定位置,从而适配各个屏幕的设备. 今天我就来讲一下怎么得到当前设备的屏幕像素吧: 一.在Activity中: ...

  6. Android中获取应用程序(包)的信息----PackageManager

    本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下:   第一部分: 获取应用程序的packagena ...

  7. Android中获取应用程序(包)的信息-----PackageManager的使用(一)

    本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下:  第一部分: 获取应用程序的packagenam ...

  8. Android中获取应用程序(包)的信息-----PackageManager的使用

    本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...

  9. 编程实战——电影管理器之利用MediaInfo获取高清视频文件的相关信息

    随着高速(20M)宽带.HTPC.大容量硬盘(3T)的普及,下载高清片并利用大屏幕观看也成为普通的事情. 随着下载影片的增多,管理就有了问题,有时在茫茫文件夹下找寻一个影片也是一件费时费力的事. 于是 ...

随机推荐

  1. Ubuntu下,dpkg安装出错的修复

    参考 http://www.khattam.info/2009/08/04/solved-subprocess-pre-removal-script-returned-error-exit-statu ...

  2. PHP打印重复的东西

    <?php echo str_repeat(" ", 8)?>//连续打印8个空格

  3. 很有必要了解的HTML嵌套规则

    最近在重新学习HTML的知识,算是对HTML的一个重新认识吧!别小看了这东西,一切的网页可都是以它为基础的!下面就详细归纳一下HTML标签的嵌套规则吧,希望对大家有所帮助. XHTML的标签有许多:d ...

  4. Windoows窗口程序一

    编写窗口程序的步骤: .定义WinMain入口函数 .定义窗口处理函数(处理消息)WindowProc .注册窗口类RegisterClass .创建窗口(在内存中创建窗口)CreateWindow ...

  5. 有2个表,结构相似,有一个字段关联,现在怎么把A表的数据添加到B表中,条件是A表不在B表的数据?? 请各位高手多多指点,是oracle的数据库

    : insert into b(col1,col2 )select col1,col2 where not exists(select a.col1 from a where a.col1 = b.c ...

  6. sh脚本循环

    sh for循环 for File in 1 2 3 4 5 do echo $File done sh for多重循环 for image_size_input in 160 140 120 100 ...

  7. 【转】WCF服务的创建和发布到IIS

    一. WCF服务的创建 有两种创建方式: 1.WCF服务库 2.WCF服务应用程序 如下图所示: 这里选择WCF服务库.注意事项: 1.WCF服务库是一个类库项目,这里选择.net 3.5版本(版本高 ...

  8. firefox插件之 vimperator 的使用

    简介: vimperator 是 Firefox浏览器下的一个插件,可以让我们像使用vim 一样使用 firefox浏览器,高效畅快,不用鼠标了.它的官网为:http://www.vimperator ...

  9. 【转】C# URL短地址压缩算法及短网址原理解析

    这篇文章主要介绍了C# URL短地址压缩算法及短网址原理解析,本文重点给出了算法代码,需要的朋友可以参考下 短网址应用已经在全国各大微博上开始流行了起来.例如QQ微博的url.cn,新郎的sinaur ...

  10. dos中执行cd命令切换不到对应的盘解决方法

    可以使用cd命令,不过需要加参数 /d,如: cd /d e: