获取电池电量和状态的Andr​​oid [英] Get battery level and state in Android

查看:103
本文介绍了获取电池电量和状态的Andr​​oid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎样才能电池电量和状态(插入,放电,充电,等等)?我研究了开发文档,我发现了一个BatteryManager类。但它不包含任何方法,只是常数。我如何甚至可以用它?

How can I get battery level and state (plugged in, discharging, charging, etc)? I researched the developer docs and I found a BatteryManager class. But it doesn't contain any methods, just constants. How do I even use it?

推荐答案

下面是一个code示例,说明如何获取电池信息:<一href="http://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html">http://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html

Here is a code sample that explains how to get battery information: http://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html

要概括起来,一个广播接收器的 ACTION_BATTERY_CHANGED 的意图是建立动态的,因为它不能被通过舱单申报组件接受,只有通过显式注册的它与 Context.registerReceiver()

To sum it up, a broadcast receiver for the ACTION_BATTERY_CHANGED intent is set up dynamically, because it can not be received through components declared in manifests, only by explicitly registering for it with 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));
  }
}

这篇关于获取电池电量和状态的Andr​​oid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆