我发现如果您在广播接收器中使用 getIntExtra("Voltage", -1) 监听 ACTION_BATTERY_CHANGED。它为您提供 mV。其实我有两个问题。
1. 有谁知道我可以在任何时间点获取电压而不依赖广播接收器的最新更新的方法吗?
2. 有谁知道这个值是否足够可靠,可以用于测量一段时间内的电池消耗?
最佳答案
我可以回答问题 2 和您标题中的问题 - 大多数移动设备使用锂 ionic 电池,电池的原始电压与其剩余容量(即充电/放电百分比)具有非常非线性的关系.
看看graph here显示锂 ionic 电池电压与剩余容量的关系。您可以看到,从电池充满到电池容量约为 10%,电压保持大致恒定(略有下降趋势),然后急剧下降。
@ChrisStratton 在评论中指出,该图不适用于现代设备,并表示它们有很大不同,并且可能更容易从电压推断充电状态。不幸的是,我找不到现代手机电池类似图表的链接。然而,可以看出,根据开路电压(OCV-SOC)对充电状态进行建模仍然是active academic research主题。
这一点仍然表明,使用电压来估计充电状态并非易事。
关于java - 电池电压是否与其电量/百分比直接对应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28047513/