文件位置:frameworks\base\services\core\java\com\android\server\BatteryService.java

 /**         * Synchronize on BatteryService.         */        public void updateLightsLocked() {            final int level = mBatteryProps.batteryLevel;            final int status = mBatteryProps.batteryStatus;            if (mIPOBoot)            {                //Get led status in IPO mode                getIpoLedStatus();            }            if (level < mLowBatteryWarningLevel) {                if (status == BatteryManager.BATTERY_STATUS_CHARGING) {                    updateLedStatus();                    // Solid red when battery is charging//wdh_changedLog.d(TAG, "level=" + level+"status="+status);                    mBatteryLight.setColor(mBatteryMediumARGB);                } else {                    LowLevelFlag = true;                    updateLedStatus();                    // Flash red when battery is low and not charging                    mBatteryLight.setFlashing(mBatteryLowARGB, Light.LIGHT_FLASH_TIMED,                            mBatteryLedOn, mBatteryLedOff);                }            } else if (status == BatteryManager.BATTERY_STATUS_CHARGING                    || status == BatteryManager.BATTERY_STATUS_FULL) {                if (status == BatteryManager.BATTERY_STATUS_FULL || level >= 90) {                    updateLedStatus();                    // Solid green when full or charging and nearly full                    mBatteryLight.setColor(mBatteryFullARGB);                } else {                    updateLedStatus();                    // Solid orange when charging and halfway full                    mBatteryLight.setColor(mBatteryMediumARGB);                }            } else {                if (ipo_led_on && mIPOBoot) {                    if (status == BatteryManager.BATTERY_STATUS_FULL || level >= 90) {                        mBatteryLight.setColor(mBatteryFullARGB);                    }                    else {                        mBatteryLight.setColor(mBatteryMediumARGB);                    }                    mIPOBoot = false;                    ipo_led_on = false;                }                // No lights if not charging and not low                mBatteryLight.turnOff();            }        }

上面是更新充电指示灯的状态, mBatteryLight.setColor(mBatteryFullARGB)是设置指示灯颜色

mBatteryLowARGB:低电量颜色,也是低电量警告颜色

mBatteryMediumARGB:中电量颜色,一般是低电量以上到90%电量之间,充电显示此颜色

mBatteryFullARGB:满电颜色,一般是充电状态下,90%到100%之间显示此颜色

mBatteryLight.setFlashing(mBatteryLowARGB, Light.LIGHT_FLASH_TIMED,
                            mBatteryLedOn, mBatteryLedOff);此方法是低电量,闪灯状态,闪灯警告



更多相关文章

  1. android 按钮变化颜色
  2. Android 颜色过渡计算
  3. Android 的res/values/colors自定义颜色列表和注释表及布局文件
  4. 【Android】性能优化:电量消耗统计
  5. Android颜色选择器
  6. Android 实现颜色渐变的一个小 tip
  7. [Android菜鸟笔记]xml实现编辑框/按钮的椭圆样(shape标签)+应用
  8. Android LCD背景颜色和边框颜色的可控制

随机推荐

  1. android - 为响应度而设计 - 开发文档翻
  2. Android(安卓)Service生命周期及用法
  3. Android短信发送功能实现技巧分享
  4. Android高手进阶教程(二)之----Android(
  5. 改变android中button的样式
  6. Android(安卓)7.0系统启动流程分析
  7. 【Android(安卓)编程架构】MVC/MVP/MVVM
  8. Android自用-----AsyncTask实现异步处理
  9. Android动态替换Application实现
  10. Android(安卓)UI开发第三十九篇——Tab界