public class BatteryActivity extends Activity {
/** Called when the activity is first created. */
private ToggleButton tb=null;
private TextView tv=null;
//声明下面atteryReceiver类的对象
private BatteryReceiver receiver=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//setContentView(R.layout.main);
receiver=new BatteryReceiver();
tv=(TextView)findViewById(R.id.tv);
tb=(ToggleButton)findViewById(R.id.tb);
//对按钮进行监听
tb.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton compoundButton,
boolean isChecked) {
//获取电池电量
if(isChecked){
IntentFilter filter=new
//传入控电池电量的广播消息
IntentFilter(Intent.ACTION_BATTERY_CHANGED);
//注册BroadcastReceiver
registerReceiver(receiver, filter);
}else {
//停止获取电池电量
unregisterReceiver(receiver);
tv.setText(null);
}
}
});
}
//创建BatteryReceiver的类继承BroadcastReceiver
private class BatteryReceiver extends BroadcastReceiver{
@Override
//负责接收广播并且处理的方法
public void onReceive(Context context, Intent intent) {
//获得当前电量
int current=intent.getExtras().getInt("level");
//获得总电量
int total=intent.getExtras().getInt("scale");
//运算出电池电量的百分比
int percent=current*100/total;
tv.setText("现在的电量是"+percent+"%。");
}
}
}