2

有没有办法只在电量变化时才获得电池电量?

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

我也知道ACTION_BATTERY_CHANGED当电池信息发生变化(不仅仅是电平)时会发生这种情况,因此我需要检查电平。我不知道为什么,但有时它不能很好地工作。

有更好的方法吗?

4

1 回答 1

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);
于 2012-05-22T19:45:23.670 回答