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" />

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM