清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
电池电量发出变化时,会发出Intent.ACTION_BATTERY_CHANGED的广播,我们只需要监听这个广播就可以获取电池信息。必须要注意的是:Intent.ACTION_BATTERY_CHANGED不是一个常驻型广播,也就是说静态注册broadcastReceiver是接收不到这个广播的,必须得动态注册。
下面给出关键代码:
自定义广播:
class BatteryReceiver extends BroadcastReceiver{@Override
public void onReceive(Context context, Intent intent) {
//判断是否是电池变化广播
if(Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())){
int level = intent.getIntExtra("level", 0); //获取当前电量
int scale = intent.getIntExtra("scale", 100); //电量的总刻度
tv.setText("电池电量为"+((level*100)/scale)+"%"); //把它转成百分比
}
}
}