如何获得精度为1%的电池电量。
[UIDevice currentDevice].batteryLevel
将给予5%的准确度电量。 但我最近用运行iOS 5.1我的iPhone 4S,这是给电池级精度为1%电池医生应用。 任何人有任何想法,我们怎么可以得到准确......我试图搜查了很多,但事先没有得到他们是如何计算呢..谢谢...
如何获得精度为1%的电池电量。
[UIDevice currentDevice].batteryLevel
将给予5%的准确度电量。 但我最近用运行iOS 5.1我的iPhone 4S,这是给电池级精度为1%电池医生应用。 任何人有任何想法,我们怎么可以得到准确......我试图搜查了很多,但事先没有得到他们是如何计算呢..谢谢...
与iOS 8起,
[UIDevice currentDevice].batteryLevel
提供1%的精度:)
如果关闭设置 - >通用>用途区内─>电池百分比,电池医生显示了5%精度的电池电量。所以我猜想,他们正在运行的设备,其中右上角的一些图像识别算法示出了电池百分比。
如果你越狱,你可以简单地使用
int percent = [(SBUIController*)[objc_getClass("SBUIController") sharedInstance] displayBatteryCapacityAsPercentage];
这种方法是目前在iOS 4.3以上版本,并可能是什么电池医生使用。
答案来自这个问题 :
您可以使用NSTimer
来操纵你展示给准确的外观值。 每个会话的应用程序是活动的,使电池数据的样本组(例如用于电池电平所需要的时间从100%下降到95%,然后95%至90%,等等),并将其保存在设备本身上。 然后,使用定时器来衬托根据落入5%除以5(假定相同的间隔,这将改变后的各百分比落在所需的电池电平的时间更新(和估计)电池值,但它不会是显着的偏差)。 这是真的,电池寿命降至随着时间的推移,但由于我们根据上次保存的会话值调整定时器的值,它应该继续成为在设备的使用寿命非常准确。
编辑-对于初始状态下,可以提供取决于iPhone机型(3,3G,4,4S)的默认值。 不同的值可以被计算为这些不同的设备。
在iOS系统8.1.x我注意到,电池电量立刻报告了应用程序的确切电池电量。 此前, UIDevice
将报告每隔5%。 没有什么更适合你在的iOS 8.1.x做的[UIDevice currentDevice].batteryLevel
应自动现在报告这一情况。