文件位置: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. TextInput 需要注意的点
  2. Android电池状态监听实例1(下)
  3. Android(安卓)颜色过渡计算
  4. android 按钮变化颜色
  5. Android(安卓)的res/values/colors自定义颜色列表和注释表及布局
  6. Android(安卓)TestView文本文字修改实例
  7. Android(安卓)实现颜色渐变的一个小 tip
  8. Android(安卓)LCD背景颜色和边框颜色的可控制
  9. Android(安卓)Studio中Xml的新建及shape绘图

随机推荐

  1. mysql学习笔记之表的基本操作
  2. mysql学习笔记之帮助文档
  3. mysql学习笔记之基础知识
  4. mysql学习笔记之数据引擎
  5. 浅谈MySQL临时表与派生表
  6. MySQL日志系统详细资料分享
  7. mysql密码忘记怎么办
  8. mysql 5.6.23 winx64.zip安装详细教程
  9. MySql 5.6.35 winx64 安装详细教程
  10. 完美解决MySQL通过localhost无法连接数据