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;
}
}
这样,就设置成功了