Android取得电池的电量

 1 首先需要用到的是一个类继承BrocastReceiver
 2 代码如下:
 3 public class Battery_Info extends BroadcastReceiver
 4  {
 5 
 6     @Override
 7     public void onReceive(Context context, Intent intent)
 8     {
 9         //首先要进行一个判段当前广播是不是接受的是电池信息的action操作
10         if(intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED))
11         {
12             int level=intent.getExtras().getInt("level");
13                 //获取当前电量其中level和scale是系统已经预定好的不可更改为其他的变量名
14             int scale=intent.getExtras().getInt("scale");//获得总电量
15             Builder dialog=new AlertDialog.Builder(context);
16             dialog.setIcon(R.drawable.ic_launcher);
17             dialog.setTitle("电池电量");
18             dialog.setMessage("当前电池电量为:"+level*100/scale+"%");
19             dialog.setPositiveButton("确定", new OnClickListener(){
20                 @Override
21                 public void onClick(DialogInterface dialog, int which) {
22 
23                     dialog.dismiss();
24                      
25                 }
26                 
27             }).create();
28             dialog.show();
29         }
30     }
31 
32    }
33 
34 然后在MainActivity中注册广播机制;
35 代码如下:
36 public class MainActivity extends Activity {
37 
38     private Button getBattery;
39     public void onCreate(Bundle savedInstanceState) {
40         super.onCreate(savedInstanceState);
41         setContentView(R.layout.main);
42         
43         this.getBattery=(Button) super.findViewById(R.id.button1);
44         this.getBattery.setOnClickListener(new OnClickListener()
45         {
46             public void onClick(View v)
47             {
48                 Battery_Info batteryBrocastReceiver=new Battery_Info();
49 
50                 //注册广播之前需要进行一个Intent的一个过滤,也就是把他设置为电池信息状态的IntentFilter对象
51                 IntentFilter filter=new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
52                 
53                 
54                 MainActivity.this.registerReceiver(batteryBrocastReceiver, filter);//注册广播机制
55             }
56         });
57     }
58 64 }
原文地址:https://www.cnblogs.com/tianshidechibang234/p/3198874.html