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); } }}
新闻热点
疑难解答