您的位置:首页 > 移动开发 > Android开发

Android学习之工具类四:屏幕管理工具类

2017-02-07 12:54 423 查看
import android.app.KeyguardManager;
import android.content.Context;
import android.os.PowerManager;

/**
* 屏幕管理工具类
*
* @author linzhiyong
* @time 2017年1月20日10:18:49
*/
public class ScreenManager {

/**
* 判断屏幕是否处于唤醒状态
*
* @param context
* @return
*/
public static boolean isWakeup(Context context) {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (pm == null) {
return false;
}
/*
* 表示有两种状态:a、未锁屏 b、目前正处于解锁状态。这两种状态屏幕都是亮的。屏幕“暗” ,表示目前屏幕是黑的。
*/
return pm.isScreenOn();
}

/**
* 唤醒并解锁屏幕
*
* @param context
*/
public static void wakeUpAndUnlock(Context context){
try {
KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
if (km == null) {
return;
}
//            KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock");
//            //解锁
//            kl.disableKeyguard();
//获取电源管理器对象
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (pm == null) {
return;
}
//获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
//点亮屏幕
wl.acquire();
//释放
wl.release();
} catch (Exception e) {
LoggerUtil.error(ScreenManager.class.getName(), e.getMessage(), e);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息