您的位置:首页 > 其它

获取设备电池电量及状态

2015-04-24 18:05 204 查看
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];

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: