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

来源:互联网 发布:网络114 编辑:程序博客网 时间:2024/04/28 01:12
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);        }    }}

1 0