您的位置:首页 > 移动开发 > Android开发

Android取得电池的电量

2013-07-18 18:42 459 查看
首先需要用到的是一个类继承BrocastReceiver
2 代码如下:
public class Battery_Info extends BroadcastReceiver
{

@Override
public void onReceive(Context context, Intent intent)
{
//首先要进行一个判段当前广播是不是接受的是电池信息的action操作
if(intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED))
{
int level=intent.getExtras().getInt("level");
//获取当前电量其中level和scale是系统已经预定好的不可更改为其他的变量名
int scale=intent.getExtras().getInt("scale");//获得总电量
Builder dialog=new AlertDialog.Builder(context);
dialog.setIcon(R.drawable.ic_launcher);
dialog.setTitle("电池电量");
dialog.setMessage("当前电池电量为:"+level*100/scale+"%");
dialog.setPositiveButton("确定", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

}

}).create();
dialog.show();
}
}

}

然后在MainActivity中注册广播机制;
35 代码如下:
public class MainActivity extends Activity {

private Button getBattery;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

this.getBattery=(Button) super.findViewById(R.id.button1);
this.getBattery.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Battery_Info batteryBrocastReceiver=new Battery_Info();

//注册广播之前需要进行一个Intent的一个过滤,也就是把他设置为电池信息状态的IntentFilter对象
IntentFilter filter=new IntentFilter(Intent.ACTION_BATTERY_CHANGED);

MainActivity.this.registerReceiver(batteryBrocastReceiver, filter);//注册广播机制
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: