【问题标题】:Can someone please explain Android BatteryManger parameters有人可以解释一下Android BatteryManger参数吗
【发布时间】:2018-04-11 15:13:22
【问题描述】:

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

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);

long batteryCapacity = (chargeCounter/容量) *100;

日志是愚蠢的:

收费计数器:3366079 容量 100 电池容量:3366000

BATTERY_PROPERTY_ENERGY_COUNTER

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

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

使用的设备 - LG G6 和 Pixel 1

谢谢

【问题讨论】:

    标签: android battery batterymanager


    【解决方案1】:

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

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

    【讨论】:

    • 我对此感兴趣的原因是因为一个应用程序名称“Accubatery”他们有这个“电池健康”,他们在其中计算,健康基于设计容量与估计容量。所以我很想知道我的电池容量
    猜你喜欢
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 2016-12-12
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多