在android获取系统电量可以通过接收系统电量改变广播在实现
1.创建电量改变广播接收者
/** * 电量改变广播接收者,获取系统电量 */ class BatteryReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //判断它是否是为电量变化的Broadcast Action if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) { //获取当前电量 int level = intent.getIntExtra("level", 0); //电量的总刻度 int scale = intent.getIntExtra("scale", 100); //把它转成百分比 // Log.e("399","电池电量为" + ((level * 100) / scale) + "%"); // Log.e("399","level" +level + " scale" + scale); mBatteryTextView.setText(((level * 100) / scale) + "%"); } } }
2代码注册广播接收者
mBroadcastReceiver = new BatteryReceiver(); IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); registerReceiver(mBroadcastReceiver, intentFilter);
3.在destory()方法中注销广播接收者
@Override protected void onDestroy() { super.onDestroy(); if(mBroadcastReceiver != null){ unregisterReceiver(mBroadcastReceiver); } }