iOS - проблема с отображением состояния батареи
Я пытаюсь отобразить процент заряда батареи с помощью UILabel, но результат - чепуха! вот мой код:
UIDevice *myDevice = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];
int i=[myDevice batteryState];
_battery.text = [NSString stringWithFormat:@"%i",i];
На этикетке показано число 2!!!!
3 ответа
Используйте код ниже, чтобы получить уровень заряда батареи
UIDevice *myDevice = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];
float batteryLevel = [myDevice batteryLevel];
_battery.text = [NSString stringWithFormat:@"%f",batteryLevel*100];
[myDevice batteryLevel];
даст вам батарею от 0,0 (разряжена) до 1,0 (заряжена на 100%)
Надеюсь, поможет..
iPhone OS
предоставляет два типа событий мониторинга батареи: одно для изменения состояния (например, зарядка, отключение от сети, полная зарядка) и одно для обновления при изменении уровня заряда батареи. Как и в случае с мониторингом близости, вы регистрируете обратные вызовы для получения уведомлений:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryLevelDidChangeNotification" object:device];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryStateDidChangeNotification" object:device];
Также обратитесь по этой ссылке.
[myDevice batteryState];//return is a variable of UIDeviceBatteryState
на этикетке номер 2 означает "UIDeviceBatteryStateCharging, // подключен, менее 100%", если вы хотите отобразить процент заряда батареи. Код в первом ответе поможет вам.