2

想知道是否有超出 Apple 技术统计数据的参考来计算电池寿命。我尝试比较一些现有的电池应用程序(剩余电量百分比 * Apple 的数据),但有时我不会得出相同的答案。还有使用 2G 电池(而不是 3G)的统计数据,我在 Apple 上没有看到任何关于 2G 电池寿命的信息。

当然,一些应用程序声称它们是“最准确的”......但我不认为这种情况会发生,除非有人有非常准确的统计数据来源。

4

1 回答 1

18

该 API 允许您注册以接收有关电池电量更改的通知。它仅以 5% 的增量向上或向下报告更改,但您可以使用计时器并测量两次更改(或初始电池电量和第一次更改)之间的时间。以下是您注册通知的方式:

// Use this call to get the current battery level as a float
// [[UIDevice currentDevice] batteryLevel]

[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(batteryStateDidChange:)
                                             name:UIDeviceBatteryStateDidChangeNotification
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(batteryLevelDidChange:)
                                             name:UIDeviceBatteryLevelDidChangeNotification
                                           object:nil];

第一个通知告诉您当前状态,例如拔出、充电或充满。每当达到 5% 的增量时,都会触发第二个。

在我看来,如果你得到的只是 5% 的变化通知,那么准确度就不是你可以很好或快速计算出来的东西。如果设备没有做任何事情,5% 的变化可能需要很长时间。

也许您可以使用计时器监视 [[UIDevice currentDevice] batteryLevel],但是,虽然我没有尝试过,但我认为它只会以相同的 5% 增量更新。

于 2009-09-24T07:07:21.983 回答