我对电池管理器参数感到困惑。有人可以解释以下几点:
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 /容量)* 100;
日志是foolow:
收费柜台:3366079
容量100
电池容量:3366000
BATTERY_PROPERTY_ENERGY_COUNTER
电池剩余能量(以纳瓦小时为单位),为一个长整数。
此参数返回0(在2个设备上测试)
问题-此值应为3300 mAH时的剩余电池容量值吗?否则这意味着什么?
使用的设备-LG G6和Pixel 1
谢谢
最佳答案
这些问题背后蕴藏着许多物理学,第一个是,
这怎么会大于3300 mAh?
制造商制造新电池时,会在一定范围内使用,如果您的电池说3300mAh,则误差范围为+/-一定百分比。
为了测量电池,他们还使用了容易出现一定百分比误差的传感器。
所有这些措施都从模拟转换为数字,这也导致了另一个错误。
我认为此链接可以帮助您:https://source.android.com/devices/tech/power/device
对于第二个问题,请查看此帖子:
Android BATTERY_PROPERTY_ENERGY_COUNTER returning fixed value?