注册广播接收器:

homeFilter = new IntentFilter();homeFilter.addAction(Intent.ACTION_BATTERY_CHANGED);registerReceiver(homeReceiver, homeFilter);

广播接收ACTION_BATTERY_CHANGED:

private BroadcastReceiver homeReceiver = new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            String action = intent.getAction();            if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {                int rawLevel = intent.getIntExtra("level", -1);                int scale = intent.getIntExtra("scale", -1);                int status = intent.getIntExtra("status", -1);                int health = intent.getIntExtra("health", -1);                MyLog.i("[HomeReceiver]rawLevel:" + rawLevel + ",scale:"                        + scale + ",status:" + status + ",health:" + health);                switch (status) {                case BatteryManager.BATTERY_STATUS_UNKNOWN:                    setBatteryImageByLevel(0);                    break;                case BatteryManager.BATTERY_STATUS_CHARGING:                    break;                case BatteryManager.BATTERY_STATUS_DISCHARGING:                case BatteryManager.BATTERY_STATUS_NOT_CHARGING:                    if (rawLevel >= 0 && rawLevel <= 100) {                        int level = (int) (rawLevel / 10.0);                        setBatteryImageByLevel(level);                    }                    break;                case BatteryManager.BATTERY_STATUS_FULL:                    setBatteryImageByLevel(10);                    break;                default:                    break;                }            }        }    };

设置电池图标:

    /**     * 设置电池图标     *      * @param level     *            0-10     */    private void setBatteryImageByLevel(int level) {        MyLog.i("[setBatteryImageByLevel]:" + level);        if (level >= 0 && level <= 10) {            int batteryResId = getResources().getIdentifier(                    "home_battery_" + level, "drawable", getPackageName());            imageBattery.setImageResource(batteryResId);        }    }

更多相关文章

  1. 关于android的广播接收器(1)—基础篇
  2. 30个高质量并且免费的Android图标【Android Icon素材】
  3. android mtk6592 禁止拖动主界面图标
  4. [置顶] android 图标的绘制
  5. android之launcher时序图and图标的建立
  6. android 自带图标介绍
  7. Android 显示/隐藏 应用图标
  8. Android 响应键盘移动图标
  9. android 电池状态获取

随机推荐

  1. android解析json数据
  2. Hello world 之Android版
  3. Android(安卓)在代码中同时给控件设置圆
  4. Android反编译工具:Apktool,支持Linux 、Wi
  5. Android(安卓)Studio配置NDK编译环境
  6. Android(安卓)finished with non-zero ex
  7. Android的线程使用来更新UI----Thread、H
  8. Android属性之build.prop生成过程
  9. Android(安卓)https 证书信任问题
  10. [原]如何在Android平台上建立APN