package com.lh.fly.common.assist; import android.content.Context; import android.os.Build; import android.os.PowerManager; import com.lh.fly.common.log.Log; /** * <!-- 亮屏 --> * require <uses-permission android:name="android.permission.WAKE_LOCK"/> * * @author MaTianyu * @date 2014-11-04 */ public class WakeLock { PowerManager powerManager; PowerManager.WakeLock wakeLock; public WakeLock(Context context, String tag) { ////获取电源的服务 声明电源管理器 powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.FULL_WAKE_LOCK, tag); } /** * Call requires API level 7 */ public boolean isScreenOn() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ECLAIR_MR1) { Log.e("Log : ", "can not call isScreenOn if SDK_INT < 7 "); return false; } else { return powerManager.isScreenOn(); } } public void turnScreenOn() { //点亮亮屏 Log.i("Log : ", "PowerManager.WakeLock : wakeLock.isHeld: " + wakeLock.isHeld()); if (!wakeLock.isHeld()) { Log.i("Log : ", "PowerManager.WakeLock : 点亮屏幕"); wakeLock.acquire(); } } public void turnScreenOff() { //释放亮屏 Log.i("Log : ", "PowerManager.WakeLock : wakeLock.isHeld: " + wakeLock.isHeld()); if (wakeLock.isHeld()) { Log.i("Log : ", "PowerManager.WakeLock : 灭掉屏幕"); try { wakeLock.release(); } catch (Exception e) { e.printStackTrace(); } } } public void release() { if (wakeLock != null && wakeLock.isHeld()) { try { wakeLock.release(); } catch (Exception e) { e.printStackTrace(); } } } public PowerManager.WakeLock getWakeLock() { return wakeLock; } public void setWakeLock(PowerManager.WakeLock wakeLock) { this.wakeLock = wakeLock; } public PowerManager getPowerManager() { return powerManager; } public void setPowerManager(PowerManager powerManager) { this.powerManager = powerManager; } }