性能優化08_電量優化:監控電量狀態

Android性能優化彙總

1 需求: 監控電量狀態

比如:360手機助手,當充上電的時候,纔會自動清理手機垃圾,自動備份上傳圖片、聯繫人等到雲端。

2 原理

通過監控電量狀態來進行電量管理。

  • 獲取手機的當前充電狀
  • 判斷只有當前手機爲充電狀態時 纔去執行一些非常耗電的操作。

3 是否充電代碼

 private boolean checkForPower() {
        //獲取電池的充電狀態
        IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        Intent intent = registerReceiver(null, filter);

        //BatteryManager
        int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
        boolean usb = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
        boolean ac = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
        //無線充電---API>=17
        boolean wireless = false;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            wireless = chargePlug == BatteryManager.BATTERY_PLUGGED_WIRELESS;
        }
        return (usb||ac||wireless);
    }

4 Demo

WaitForPowerActivity

發佈了231 篇原創文章 · 獲贊 75 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章