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