安卓开发—自定义电池电量显示状态

来源:互联网 发布:投资tw域名 编辑:程序博客网 时间:2024/06/05 03:47

1、编写broadcastreceiver

    class BatteryReceiver extends BroadcastReceiver {        @Override        public void onReceive(Context context, Intent intent) {            int level = intent.getIntExtra("level", 0);//0~100;            setBattery(level);        }    }

2、定义及绑定

private BatteryReceiver mBatteryReceiver;        //注册电量广播        mBatteryReceiver = new BatteryReceiver();        IntentFilter intentFilter = new IntentFilter();        intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);        registerReceiver(mBatteryReceiver, intentFilter);

3、自定义设置电池状态

    private void setBattery(int level) {        if (level <= 0) {            mMediaImBattery.setImageResource(R.drawable.ic_battery_0);        } else if (level <= 10) {            mMediaImBattery.setImageResource(R.drawable.ic_battery_10);        } else if (level <= 20) {            mMediaImBattery.setImageResource(R.drawable.ic_battery_20);        } else if (level <= 40) {            mMediaImBattery.setImageResource(R.drawable.ic_battery_40);        } else if (level <= 60) {            mMediaImBattery.setImageResource(R.drawable.ic_battery_60);        } else if (level <= 80) {            mMediaImBattery.setImageResource(R.drawable.ic_battery_80);        } else if (level <= 100) {            mMediaImBattery.setImageResource(R.drawable.ic_battery_100);        } else {            mMediaImBattery.setImageResource(R.drawable.ic_battery_100);        }    }//我写的是图片显示电量//当然,只要大家拿到了电量,即可自定义//别忘了调用这个函数

4、别忘了销毁广播接收者

    @Override    protected void onDestroy() {        super.onDestroy();        //注销电量监听者        if (mBatteryReceiver != null) {            unregisterReceiver(mBatteryReceiver);            mBatteryReceiver = null;        }    }

这样,就设置成功了

原创粉丝点击