Android 解码电池值

Android 解码电池值,android,Android,在电池广播接收器中,我有以下3行代码: int health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 0); int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0); int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0); 以上三个的值分别为2、2和4 我如何解码这些值并向用户展示一

在电池广播接收器中,我有以下3行代码:

int health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 0);
int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0);
以上三个的值分别为2、2和4

我如何解码这些值并向用户展示一些有意义的东西,比如健康,我不能告诉计算机电池的健康状况是好是坏还是需要更换

提前感谢

使用此电池

switch (health) {
    case BatteryManager.BATTERY_HEALTH_DEAD:

        break;
    case BatteryManager.BATTERY_HEALTH_GOOD:

        break;
    case BatteryManager.BATTERY_HEALTH_COLD:

        break;
    case BatteryManager.BATTERY_HEALTH_OVERHEAT:

        break;
    case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:

        break;

    default:
        break;
    }
用于插拔

switch (plugged ) {
    case BatteryManager.BATTERY_PLUGGED_AC:

        break;
    case BatteryManager.BATTERY_PLUGGED_USB:

        break;
    case BatteryManager.BATTERY_PLUGGED_WIRELESS:

        default:
        break;
    }
电压用

switch (voltage) {
    case BatteryManager.BATTERY_STATUS_CHARGING:

        break;
    case BatteryManager.BATTERY_STATUS_DISCHARGING:

        break;
    case BatteryManager.BATTERY_STATUS_FULL:
        break;
    case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
        break;
    case BatteryManager.BATTERY_STATUS_UNKNOWN:
        break;
    default:
        break;
    }
用这个做电池

switch (health) {
    case BatteryManager.BATTERY_HEALTH_DEAD:

        break;
    case BatteryManager.BATTERY_HEALTH_GOOD:

        break;
    case BatteryManager.BATTERY_HEALTH_COLD:

        break;
    case BatteryManager.BATTERY_HEALTH_OVERHEAT:

        break;
    case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:

        break;

    default:
        break;
    }
用于插拔

switch (plugged ) {
    case BatteryManager.BATTERY_PLUGGED_AC:

        break;
    case BatteryManager.BATTERY_PLUGGED_USB:

        break;
    case BatteryManager.BATTERY_PLUGGED_WIRELESS:

        default:
        break;
    }
电压用

switch (voltage) {
    case BatteryManager.BATTERY_STATUS_CHARGING:

        break;
    case BatteryManager.BATTERY_STATUS_DISCHARGING:

        break;
    case BatteryManager.BATTERY_STATUS_FULL:
        break;
    case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
        break;
    case BatteryManager.BATTERY_STATUS_UNKNOWN:
        break;
    default:
        break;
    }

在onCreate方法下使用

@Override
public void onCreate() {
    BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
        int scale = -1;
        int level = -1;
        int voltage = -1;
        int temp = -1;
        @Override
        public void onReceive(Context context, Intent intent) {
            level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
            scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
            temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
            voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
            Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage);
        }
    };
    IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    registerReceiver(batteryReceiver, filter);
}
如果电量=20/100,则表示电池剩余电量为20% 温度是320,然后温度是32摄氏度。
如果电压为4000,则在onCreate方法下使用的电压为4.000伏

@Override
public void onCreate() {
    BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
        int scale = -1;
        int level = -1;
        int voltage = -1;
        int temp = -1;
        @Override
        public void onReceive(Context context, Intent intent) {
            level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
            scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
            temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
            voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
            Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage);
        }
    };
    IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    registerReceiver(batteryReceiver, filter);
}
如果电量=20/100,则表示电池剩余电量为20% 温度是320,然后温度是32摄氏度。 如果电压为4000,则电压为4.000伏

读取并创建逻辑读取并创建逻辑