Несоответствия в единицах измерения напряжения батареи Android

#java #android

#java #Android

Вопрос:

Я использую следующую строку кода:

 BatteryManager.EXTRA_VOLTAGE
  

чтобы получить напряжение батареи с 2 устройств Android.

Один дает мне значение 4347 , которое, я уверен, переводится в 4347 mV или 4.347 V .

Но на моем другом устройстве возвращаемое значение равно 7 . Это не может означать, что батарея выводит .007 V , так есть ли что-нибудь, что могло бы представлять второе значение?

Планшет, возвращающий значение 7 , является TF101, который, как я полагаю, имеет общее выходное напряжение 7.4 V между 2 батареями. Может ли 7 в этом случае представлять вольты (не милливольты)?

Ответ №1:

Вероятно, вы правы, что какое-то устройство возвращает напряжение в вольтах вместо мВ. Например, на вашем планшете Asus установлена батарея напряжением 7,4 В, как вы могли видеть здесь: http://www.ebay.com/itm/Original-Genuine-Battery-for-ASUS-Eee-Pad-TF101-TR101-3300mAh-24Wh-C21-EP101-/191392703477 .

В моем Galaxy Young я получаю то же самое. Итак, я добавил эту функцию:

 public static float getBatteryVoltage(Intent batteryStatus){
    int voltage = batteryStatus.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
    if (voltage > 1000)
        return voltage / 1000f;
    else
        return voltage;
}