我对电池管理器参数感到困惑。有人可以请说明以下几点:
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
由于
答案 0 :(得分:1)
这些问题背后有许多物理学,第一个问题, 这怎么能超过3300毫安? 当制造商制造新电池时,他们使用一个范围制造它们,如果你的电池说它是3300mAh,那么将会出现+/-误差百分比的误差范围。 另外,为了测量电池,他们使用的传感器也容易出现一定的误差。 所有这些措施都从模拟转换为数字,这也会导致另一个错误。 我认为此链接有助于:https://source.android.com/devices/tech/power/device
关于第二个问题,请查看此帖子: Android BATTERY_PROPERTY_ENERGY_COUNTER returning fixed value?