5

我只需要在某一时刻将电池电量百分比打印在屏幕上,但我不想在之后继续监控它。

互联网上的所有代码似乎都在监听未来的变化,但我只需要一次。可以做些什么来以简单的方式获得它?

4

1 回答 1

25

使用 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; 
}
于 2013-06-28T20:04:00.947 回答