我只需要在一个点上的电池电量百分比将其打印在屏幕上,但我不想继续监控它。
互联网上的所有代码似乎都在倾听未来的变化,但我只需要一次。如何以简单的方式完成它?
答案 0 :(得分:23)
如Get battery level only once using Android SDK中所述 您可以使用以下代码:
public float getBatteryLevel() {
Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
// Error checking that probably isn't needed but I added just in case.
if(level == -1 || scale == -1) {
return 50.0f;
}
return ((float)level / (float)scale) * 100.0f;
}