IOS 获取电池状态实例

作者:朱克锋

邮箱:[email protected]

转载请注明出处:http://blog.csdn.net/linux_zkf

@interface TestViewController : UIViewController

{

NSMutableString *sstr;

}

@property (retain) NSMutableString *sstr;

@end


@implementation TestViewController

@synthesize sstr;

- (void) printfStr: (NSString *) str, ...

{

va_list arglist;

if (!str) return;

va_start(arglist, str);

NSString *outstring = [[[NSString alloc] initWithFormat:str arguments:arglist] autorelease];

va_end(arglist);

[self.sstr appendString:outstring];

[self.sstr appendString:@"\n"];

//NSLog or 相关处理

}

- (void) checkBattery: (id) sender

{

NSArray *stateArray = [NSArray arrayWithObjects: @"unknown", @"not plugged", @"charging", @"full", nil];

self.sstr = [NSMutableString string];

[self printfStr:@"Battery level: %0.2f%", [[UIDevice currentDevice] batteryLevel] * 100];

[self printfStr:@"Battery state: %@", [stateArray objectAtIndex:[[UIDevice currentDevice] batteryState]]];

}

- (void) viewDidLoad

{

//一定要设置为YES

[[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];

//也可以定时监测

[NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(checkBattery:) userInfo:nil repeats:YES];

}


你可能感兴趣的:(ios,list,interface)