这是一个电池小部件。这不是我的代码,而是取自http://www.cmwmobile.com/index.php?option=com_content&view=article&id=56&Itemid=68。
private final BroadcastReceiver batteryChangedReceiver = new
BroadcastReceiver() {
/**
* {@inheritDoc}
*/
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action != null && action.equals(
Intent.ACTION_BATTERY_CHANGED)) {
int rawLevel = intent.getIntExtra(
BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(
BatteryManager.EXTRA_SCALE, 1);
if (scale > 0) {
batteryLevel = rawLevel * 100 / scale;
}
else {
batteryLevel = rawLevel;
}
intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
updateBattery(context);
}
else if (action != null && action.equals(ACTION_UPDATE)) {
updateBattery(context);
}
}
};
我需要改变的是两件事。
1)(已解决)我需要%
在电池电量后实现符号,但我不知道该怎么做。我已经尝试过batteryLevel = rawLevel + "%";
,但给我一个错误。
2)实际上这个小部件只有背景颜色而不是图像。如果我将图像作为背景,除了在 xml 布局中更改背景之外还能做什么?我的意思是以编程方式我想在电池电量变化时更改图像。例如,如果电池电量为 80 则为 img1,如果为 70 则为 img2 等等。
编辑:第一点解决了。