有人可以解释Android BatteryManger参数

时间:2018-04-11 15:13:23

标签: android battery batterymanager

我对电池管理器参数感到困惑。有人可以请说明以下几点:

BATTERY_PROPERTY_CHARGE_COUNTER -

  

电池容量,以微安 - 小时为单位。

问题 - 是剩余电池容量还是总电池容量。 如果它的总数,为什么它会改变 如果它剩下的(当我100%收取我的手机时)的价值是一些像3366079这样的值,但我手机电池的总容量是3300 mAh(从电源配置文件中读取) 怎么能超过3300 mAh?

Integer chargeCounter = mBatteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER);
Integer capacity = mBatteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
Long energyCounter = mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);

长电池容量=(chargeCounter / capacity)* 100;

日志就像傻瓜一样:

  

充电柜台:3366079   容量100   电池容量为:3366000

BATTERY_PROPERTY_ENERGY_COUNTER

  

电池剩余能量以纳瓦时为单位,为一个长整数。

此参数返回0(在2台设备上测试) 问题 - 该值是否应该是3300 mAH的剩余电池容量值?或者这是什么意思?

使用的设备 - LG G6和Pixel 1

由于

1 个答案:

答案 0 :(得分:1)

这些问题背后有许多物理学,第一个问题, 这怎么能超过3300毫安? 当制造商制造新电池时,他们使用一个范围制造它们,如果你的电池说它是3300mAh,那么将会出现+/-误差百分比的误差范围。 另外,为了测量电池,他们使用的传感器也容易出现一定的误差。 所有这些措施都从模拟转换为数字,这也会导致另一个错误。 我认为此链接有助于:https://source.android.com/devices/tech/power/device

关于第二个问题,请查看此帖子: Android BATTERY_PROPERTY_ENERGY_COUNTER returning fixed value?