KeyguardManager
类的概述:
这个类于锁定和解锁键盘。 通过调用获取这个类的一个实例getSystemService(java.lang.String)
与参数KEYGUARD_SERVICE
。 实际的类来控制键盘锁是KeyguardManager.KeyguardLock
。
内部类
KeyguardManager.KeyguardLock:这个类在API级别13被弃用。使用FLAG_DISMISS_KEYGUARD和/或FLAG_SHOW_WHEN_LOCKED替代;这使您能够无缝地隐藏键盘锁为您的应用程序和退出前台的动作,并且不需要任何特殊权限申请。 句柄返回newKeyguardLock(String)
,允许禁用/重新启用键盘锁。
常用方法:
boolean isKeyguardLocked ()返回键盘锁是否需要输入密码才能解锁。
KeyguardManager.KeyguardLock newKeyguardLock (String tag)
返回KeyguardManager.KeyguardLock手柄使用禁用和重新启用键盘锁。
KeyguardLock 键盘锁
KeyguardLock.disableKeyguard()解锁键盘
KeyguardLock.reenableKeyguard()锁键盘
这两把锁一些概念性的理解,假如你认为你获得了一个键盘锁对象,你就可以锁屏幕了。这个就大错特错了。你锁不了其他程序打开的屏幕,你可以控制自己的锁,别想着别人的锁
/**
* 判断有没有锁屏密码(九宫格图案 - PIN码 - 数字+字母密码)
*
* @param context context
* @return 当前有无锁屏密码
*/
public static boolean hasSecurity(@NonNull Context context) {
KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
boolean keyguardSecure = km.isKeyguardSecure();
LogUtils.d("keyguardSecure? " + keyguardSecure);
return keyguardSecure;
}