如何获取电池电量和状态(插入、放电、充电等)?我研究了开发人员文档,发现了一个 BatteryManager 类。但它不包含任何方法,只是常量。我该如何使用它?
最佳答案
Tutorial For Android有一个解释如何获取电池信息的代码示例。
总结一下,ACTION_BATTERY_CHANGED
Intent 的广播接收器是动态设置的,因为无法通过manifest中声明的组件接收,只能通过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, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
float batteryPct = level * 100 / (float)scale;
batteryTxt.setText(String.valueOf(batteryPct) + "%");
}
};
@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));
}
}
关于java - 在 Android 中获取电池电量和状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291655/