Нужно ли мне добавлять setBatteryMonitoringEnabled для мониторинга уровня заряда батареи iPhone4 на iOS5?
Я запускаю приложение, которое собирает данные акселерометра и гироскопа в одночасье. Это очень энергоемкая операция, и я хотел бы научить мое приложение распознавать, когда батарея разряжается.
Вот мой прототип кода, который проверяет уровень заряда батареи каждые 10 минут
NSDate* date = [NSDate date];
if((int)([date timeIntervalSinceReferenceDate])%600 == 0)
{
UIDevice *myDevice = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];
float batLeft = [myDevice batteryLevel];
int batinfo=(batLeft*100);
[self postStatusMessageWithTitle:nil
description:[NSString stringWithFormat:@"%@ battery level: %i",[dateFormat stringFromDate:dateShow],batinfo]];
[myDevice setBatteryMonitoringEnabled:NO];
}
Мой вопрос заключается в следующем: мне нужно добавить эту строку в конец кода:
[myDevice setBatteryMonitoringEnabled:NO];
Похоже, что проверка батареи выполняется тут же, асинхронных вызовов делегатов нет. Приведет ли установка значения «NO» к экономии заряда батареи из-за того, что нет необходимости контролировать уровень заряда батареи в течение ночи? Буду ли я что-нибудь сломать, установив НЕТ?
Спасибо за любой вклад!