Home >Java >javaTutorial >How to Get Battery Level and State in Android?

How to Get Battery Level and State in Android?

DDD
DDDOriginal
2024-10-29 18:40:41914browse

How to Get Battery Level and State in Android?

Get Battery Level and State in Android

Question:

How can we obtain the battery level and status (e.g., plugged in, discharging, charging) in Android?

Answer:

The BatteryManager class provides information about the device's battery. Despite its lack of methods, it contains constant values representing battery-related data:

Getting Battery Level (SDK 21 ):

<code class="java">BatteryManager bm = (BatteryManager) context.getSystemService(BATTERY_SERVICE);
int batLevel = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);</code>

Getting Battery State:

<code class="java">int batteryStatus = bm.getIntProperty(BatteryManager.BATTERY_STATUS);
switch ( BATTERY_STATUS ) {
    case BatteryManager.BATTERY_STATUS_UNKNOWN:
        // Unknown status
        break;
    case BatteryManager.BATTERY_STATUS_CHARGING:
        //  Plug in charger
         break;
    case BatteryManager.BATTERY_STATUS_DISCHARGING:
         // Discharging
         break;
    case  BatteryManager.BATTERY_STATUS_NOT_CHARGING:
         // Not plug in
         break;
    case BatteryManager.BATTERY_STATUS
        // Fully charged
        break;
    // ...
}</code>

Additional Notes:

  • The available battery information may vary depending on the Android version and device manufacturer.
  • For pre-Lollipop devices, use BatteryManager.BATTERY_PROPERTY_LEVEL instead of BatteryManager.BATTERY_PROPERTY_CAPACITY for battery level.
  • Refer to the Android Developers documentation for a comprehensive list of all available battery constants.

The above is the detailed content of How to Get Battery Level and State in Android?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn