如何在ios中以1%的准确度获得电池电量

Ank*_*kit 12 battery ios

如何以1%的准确度获得电池电量.

       [UIDevice currentDevice].batteryLevel
Run Code Online (Sandbox Code Playgroud)

将电池电量精确到5%.但我最近在运行ios 5.1的iphone 4S上使用了Battery Doctor App,它的电池电量精度为1%.任何人都有任何想法,我们怎样才能获得这种准确性......我已经尝试过很多但是没有得到他们如何计算它...在此先感谢...

小智 9

从iOS 8开始,

[UIDevice currentDevice].batteryLevel
Run Code Online (Sandbox Code Playgroud)

提供1%的准确度:)


ila*_*ele 7

如果您关闭设置 - >常规 - >使用 - >电池百分比,电池医生会以%5精度显示您的电池电量......所以我猜他们正在为设备的右上角运行一些图像识别算法,其中显示电池百分比.


tip*_*low 1

答案来自这个问题

您可以使用 来NSTimer操纵显示的值,从而提供准确的外观。对于应用程序处于活动状态的每个会话,制作一组电池数据样本(例如电池电量从 100% 下降到 95%、然后从 95% 下降到 90% 所需的时间,等等)并将其保存在设备本身上。然后,使用计时器根据电池电量下降 5% 所需的时间除以 5 来设置更新(和估计)的电池值(假设每个百分比在相同的时间间隔后下降,这有所不同,但不会是一个明显的偏差)。确实,电池寿命会随着时间的推移而下降,但由于我们根据上次会话中保存的值调整计时器值,因此在设备的整个生命周期内它应该保持相当准确。

编辑-对于初始状态,您可以根据 iPhone 型号(3、3G、4、4S)提供默认值。可以为这些不同的设备计算不同的值。