有没有办法只在电量变化时才获得电池电量?
我知道如何获取电池信息Intent.ACTION_BATTERY_CHANGED
,然后我将它的电池电量与最后一次电池电量(我之前保存的)进行比较,以防它等于我不做任何其他事情。
我也知道ACTION_BATTERY_CHANGED
当电池信息发生变化(不仅仅是电平)时会发生这种情况,因此我需要检查电平。我不知道为什么,但有时它不能很好地工作。
有更好的方法吗?
有没有办法只在电量变化时才获得电池电量?
我知道如何获取电池信息Intent.ACTION_BATTERY_CHANGED
,然后我将它的电池电量与最后一次电池电量(我之前保存的)进行比较,以防它等于我不做任何其他事情。
我也知道ACTION_BATTERY_CHANGED
当电池信息发生变化(不仅仅是电平)时会发生这种情况,因此我需要检查电平。我不知道为什么,但有时它不能很好地工作。
有更好的方法吗?
没有其他(记录在案的)方法可以获取电池电量。当级别没有变化时忽略广播。正如你已经做的那样。
您可以通过以下方式立即获得最新状态:
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);