android平台获取电量一般需要使用系统广播,如果每次回到主界面 ,我都希望取一次电量呢 ?
public void initBattery() {
// 通过粘性广播读取电量
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent intentBattery = registerReceiver(null, intentFilter);
// 注意,粘性广播不需要广播接收器
if (intentBattery != null) {
// 获取当前电量
int batteryLevel = intentBattery.getIntExtra("level", 0);
// 电量的总刻度
int batterySum = intentBattery.getIntExtra("scale", 100);
int status = intentBattery.getIntExtra("status", BatteryManager.BATTERY_STATUS_DISCHARGING);
float rotatio = 100 * (float) batteryLevel / (float) batterySum;
MyLog.i("====", "batteryLevel===" + batteryLevel);
MyLog.i("====", "batterySum===" + batterySum);
MyLog.i("====", "currentBattery===" + rotatio + "%" + " / status" + status);
if (status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL) {
MainUtil.updateEleImage(iv_ele_charge, true);
} else {
MainUtil.updateEleImage(iv_ele_charge, false);
}
if (status == BatteryManager.BATTERY_STATUS_FULL) {
rotatio = 100;
}
MainUtil.updateEle(iv_bettry, (int) rotatio);
}
}
|