Android(PowerManager类 电源管理)

知识就是力量,时间就是生命。这篇文章主要讲述Android:PowerManager类 电源管理相关的知识,希望能为你提供帮助。
【Android(PowerManager类 电源管理)】PowerManager类用于对设备电源状态进行管理;PowerManager.WakeLock类用于保持设备常亮;android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。
使用Activity的生命周期,以调用保持屏幕常亮和释放屏幕常亮动作。

/** * < 功能描述> 保持屏幕常亮 * * @return void [返回类型说明] */ private void keepScreenWake() { // 获取WakeLock锁,保持屏幕常亮 mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); mPowerManager.wakeUp(SystemClock.uptimeMillis()); mWakeLock = mPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, this .getClass().getCanonicalName()); mWakeLock.acquire(); }

相应的,需要在Activity的onDestory()中释放屏幕常亮操作。
/** * < 功能描述> 释放WakeLock * * @return void [返回类型说明] */ private void releaseWakeLock() { if (mWakeLock != null & & mWakeLock.isHeld()) { mWakeLock.release(); mWakeLock = null; } }

关于各种Flag的说明,这些Flag主要对CPU、屏幕和键盘造成影响:
PARTIAL_WAKE_LOCK:保持CPU运转,屏幕和键盘灯有可能是关闭的;
SCREEN_DIM_WAKE_LOCK:保持CPU运转,运行保持屏幕显示但有可能是灰色的,运行关闭键盘灯;
SCREEN_BRIGHT_WAKE_LOCK:保持CPU运转,运行保持屏幕高亮显示,运行关闭键盘灯;
FULL_WAKE_LOCK:保持CPU运转,保持屏幕高亮显示,键盘灯也保持高亮;
对上述电源管理的设置,需要获取系统的相关权限:
< uses-permission android:name="android.permission.DEVICE_POWER" /> < uses-permission android:name="android.permission.WAKE_LOCK" />

 

    推荐阅读