一尘不染

在Android中获取电池电量和状态

java

如何获得电池电量和状态(插入,放电,充电等)?我研究了开发人员文档,并找到了BatteryManager类。但是它不包含任何方法,仅包含常量。我什至如何使用它?


阅读 1506

收藏
2020-03-13

共1个答案

一尘不染

这是一个代码示例,解释了如何获取电池信息。

综上所述,ACTION_BATTERY_CHANGED动态地设置了该意图的广播接收器,因为只有通过使用显式注册它才能通过清单中声明的​​组件来接收它Context.registerReceiver()

public class Main extends Activity {
  private TextView batteryTxt;
  private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
    @Override
    public void onReceive(Context ctxt, Intent intent) {
      int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
      batteryTxt.setText(String.valueOf(level) + "%");
    }
  };

  @Override
  public void onCreate(Bundle b) {
    super.onCreate(b);
    setContentView(R.layout.main);
    batteryTxt = (TextView) this.findViewById(R.id.batteryTxt);
    this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
  }
}
2020-03-13