有什么方法可以发现 android 手机的电池不再可用,我们需要以编程方式更改它吗?

Is there any way to find out that android mobile's battery is not usable anymore and we need to change it, programmatically?

我到处找这个,我得到的只是通过我已经知道的 BatteryManager 获取电池相关数据。 但问题是它总是 return 电池健康为 "BATTERY_HEALTH_GOOD" 。为了交叉检查相同的内容,我检查了 Google 播放中可用的各种电池健康应用程序,这些应用程序的许多评论清楚地表明无论电池状况多么糟糕(甚至是电池鼓包),它总是说 健康良好.

那么,是否有任何特定的公式可以用来准确确定电池的性能以及我们是否应该通过 android 代码更改它?

还有,BatteryManager.BATTERY_HEALTH_COLD到底是什么意思?

经过大量阅读,终于找到了我自己问题的答案。 现在手机中使用的电池是锂离子技术,这些电池根据充电循环次数计算电池寿命。

充电循环次数 = 电池从 0 充电到 100 的次数

这也可以通过将电池上的总电量除以其额定容量(电池的 mAh 容量)来计算

充电次数=累计充电量/额定容量

电池数量与电池健康度成反比,电池数量越高,电池健康度越低。 (如果数字 >= 400,电池不再可用,应更换).

注意:无法肯定地说部分充电周期与完全充电周期对电池健康的相对影响是什么。如果两个电池具有相似的总电荷量,它们将具有相似的电池编号。 但是,如果这些电池的充电和放电模式非常不同,那么比较它们的电池编号可能无法告诉我们有关它们相对健康状况的任何有用信息。

我们可以肯定地说的一件事是,给定电池的健康状况会随着其计算的电池数量电池的增加而降低。尽管如此,假设电池数量非常高的电池比电池数量非常低的电池 "less healthy" 可能是合理的。*

最后,虽然我们的普通设备不会直接给出这些数字,因此我们需要依赖 android OS 给出的 Health-Status电池健康状况,但是,一些企业级设备(带有智能和有天赋的电池)提供这些数字以进行精确和更好的计算。