1.获取当前设备的电量
[UIDevice currentDevice].batteryMonitoringEnabled = YES;
float batteryLevel = [UIDevice currentDevice].batteryLevel;
if (batteryLevel < 0.0) {
// -1.0 means battery state is UIDeviceBatteryStateUnknown
self.levelLabel.text = @“Unknown”;
}
else {
static NSNumberFormatter *numberFormatter = nil;
if (numberFormatter == nil) {
numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];
[numberFormatter setMaximumFractionDigits:1];
}
NSNumber *levelObj = [NSNumber numberWithFloat:batteryLevel];
self.levelLabel.text = [numberFormatter stringFromNumber:levelObj];
}
2.获取设备的电池状态
NSArray *state = @[@"未知",@"不插电的",@"充电的",@"充满电的"];
UIDeviceBatteryState currentState = [UIDevice currentDevice].batteryState;
for (int i = 0; i < [state count]; i++) {
if (i+UIDeviceBatteryStateUnknown== currentState) {
self.statelLabel.text = state[i];
}else{
self.stateLabel.text = nil;
}
}
3.注册通知中心,观察设备电量变化
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(batteryLevelChanged:)
name:UIDeviceBatteryLevelDidChangeNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(batteryStateChanged:)
name:UIDeviceBatteryStateDidChangeNotification object:nil];