package com.yuyh.library.utils;
import android.annotation.TargetApi;
import android.app.KeyguardManager;
import android.content.Context;
import android.os.Build;
/**
* @author yuyh.
* @date 16/4/9.
*/
public class KeyguardLockUtils {
private KeyguardManager keyguardManager;
private KeyguardManager.KeyguardLock keyguardLock;
public KeyguardLockUtils(Context context, String tag) {
//获取系统服务
keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
//初始化键盘锁,可以锁定或解开键盘锁
keyguardLock = keyguardManager.newKeyguardLock(tag);
}
/**
* 判断是否锁屏
*
* @return
*/
@TargetApi(16)
public boolean isKeyguardLocked() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
return false;
} else {
return keyguardManager.isKeyguardLocked();
}
}
/**
* 是否需要锁屏密码
*
* @return
*/
@TargetApi(16)
public boolean isKeyguardSecure() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
return false;
} else {
return keyguardManager.isKeyguardSecure();
}
}
/**
* 检测锁屏状态
*
* @return
*/
public boolean inKeyguardRestrictedInputMode() {
return keyguardManager.inKeyguardRestrictedInputMode();
}
/**
* 解锁屏幕
*/
public void disableKeyguard() {
keyguardLock.disableKeyguard();
}
/**
* 反解除锁屏:如果在调用disableKeyguard()函数之前是锁屏的,那么就进行锁屏,否则不进行任何操作。
*/
public void reenableKeyguard() {
keyguardLock.reenableKeyguard();
}
public void release() {
if (keyguardLock != null) {
//禁用显示键盘锁定
keyguardLock.reenableKeyguard();
}
}
}