1,電池級別和電池狀態監聽通知 [[UIDevice currentDevice] setBatteryMonitoringEnabled:YES]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkBattery:) name:UIDeviceBatteryStateDidChangeNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkBattery:) name:UIDeviceBatteryLevelDidChangeNotification object:nil];
2,電池的四種狀態: NSArray *stateArray = [NSArray arrayWithObjects: @"Battery state is Unknown", @"Battery is not plugged into a charging source", @"Battery is charging", @"Battery state is full", nil];
3,[[UIDevice currentDevice] batteryLevel] * 100];//電池的級別,通常都是0.0--1.0之間;
[[UIDevice currentDevice] batteryState];//電池的狀態
完整代碼: - (void) doLog: (NSString *) formatstring, ... { va_list arglist; if (!formatstring) return; va_start(arglist, formatstring); NSString *outstring = [[[NSString alloc] initWithFormat:formatstring arguments:arglist] autorelease]; va_end(arglist); [self.log appendString:outstring]; [self.log appendString:@"\n"]; self.textView.text = self.log; } - (void) checkBattery: (id) sender { NSArray *stateArray = [NSArray arrayWithObjects: @"Battery state is Unknown", @"Battery is not plugged into a charging source", @"Battery is charging", @"Battery state is full", nil]; self.log = [NSMutableString string]; [self doLog:@"Battery level: %0.2f%", [[UIDevice currentDevice] batteryLevel] * 100]; [self doLog:@"Battery state: %@", [stateArray objectAtIndex:[[UIDevice currentDevice] batteryState]]]; } - (void) viewDidLoad { self.navigationController.navigationBar.tintColor = COOKBOOK_PURPLE_COLOR; // Enable battery monitoring [[UIDevice currentDevice] setBatteryMonitoringEnabled:YES]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkBattery:) name:UIDeviceBatteryStateDidChangeNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkBattery:) name:UIDeviceBatteryLevelDidChangeNotification object:nil]; // Keep checking [NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(checkBattery:) userInfo:nil repeats:YES]; }