gpt4 book ai didi

android - 在 Android 手机上监控电池电量

转载 作者:搜寻专家 更新时间:2023-11-01 09:01:39 26 4
gpt4 key购买 nike

如何以编程方式监控我的 Android 设备上的电池电量?我已经阅读了发布在 stackoverflow 上的示例和 BatteryManager 文档,其中我们需要为 ACTION_BATTERY_CHANGED 注册接收器。我的问题是我需要持续监控电池电量。当我使用 ACTION_BATTERY_CHANGED Intent 时,更新保持在一个恒定值,直到我退出并重新启动我的应用程序。有没有办法在我的应用运行的整个过程中监控电池电量?

最佳答案

只要尝试使用下面的代码,如果你运行它,你会得到不同的电池信息。您还可以获得更多信息,但因此您应该只在 android api 中为电池选择正确的命令。

    public void getActualData(){

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = this.registerReceiver(null, ifilter);

//are we charging / charged?
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL;

if(isCharging == true){
tvCharged.setText("CHARGING");
}else{
tvCharged.setText("NOT CHARGING");
}

//how are we charging
int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

if(usbCharge == true){
tvHowCharging.setText("USB");
}else{
tvHowCharging.setText("ELECTRICAL OUTLET");
}

//get battery level and print it out
int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
tvLevelOutput.setText(level + " / 100");
pbLevel.setProgress(level);
pbLevel.invalidate();

//get battery temperatur
int temp = batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
tvTempOutput.setText(temp + "Grad");
pbTemp.incrementProgressBy(temp);
pbTemp.invalidate();

//get battery voltage
int voltage = batteryStatus.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
tvVoltageOutput.setText(voltage + " V");
pbVoltage.incrementProgressBy(voltage);
pbVoltage.invalidate();
}

关于android - 在 Android 手机上监控电池电量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14691795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com