我正在運行一個應用程序,可以在一夜之間對加速度計和陀螺儀數據進行採樣。這是一個非常耗電的操作,我想教我的應用程序識別何時電池電量不足。iPhone4的iOS5電池電量監測我需要添加setBatteryMonitoringEnabled:否定期電池檢查?
這裏是我的原型代碼,檢查電池電量,每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會破壞什麼?
感謝您的任何意見!
爲什麼不把它設置爲YES,並讓電話在電池充分耗盡時提醒您的應用程序?這並不是不斷進行的投票。 O.S.是有點優化,應該調用委託方法就好了。 –