如何在android中获得电池电量变化(仅当有水平/百分比变化时)?

时间:2012-05-22 19:02:30

标签: android power-management

是否有办法在电平变化时获得电池电量?

我知道如何使用Intent.ACTION_BATTERY_CHANGED获取电池信息,然后我将它的电池电量与最后一次电池电量(我之前保存的电池电量)进行比较,以防它等于我什么都不做我做的事情我的东西。

我也知道当电池信息发生变化(不仅是电平)时会发生ACTION_BATTERY_CHANGED因此我需要检查电平。我不知道为什么,但有时候效果不好。

有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

没有其他(记录)的方法来获得电池电量。当级别没有改变时,忽略广播。正如你已经做的那样。

您可以通过以下方式立即获得最新状态:

IntentFilter batIntentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent battery = this.registerReceiver(null, batIntentFilter);
int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
Log.d("TAG", "Current Level: " + level);