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); } }}
新聞熱點
疑難解答