//监听锁屏事件
//监听屏幕状态变化事件
定义一个全局变量stateChaned,用来判断屏幕变化的状态
@property (nonatomic, assign)BOOL stateChanged;
定义AppDelegate的单例,以便在回调函数中调用stateChanged
//定义AppDelegate单例
+ (AppDelegate *)sharedDelegate{
return (AppDelegate *)[UIApplication sharedApplication].delegate;
}
实现通知回调函数:
static void screenLockStateChanged(CFNotificationCenterRef center,void* observer,CFStringRef name,const void* object,CFDictionaryRef userInfo){
NSString* lockstate = (__bridge NSString*)name;
if ([lockstate isEqualToString:(__bridge NSString*)kNotificationLock]) {
[AppDelegate sharedDelegate].stateChanged = YES;
NSLog(@"锁屏");
}
else{
if ([AppDelegate sharedDelegate].stateChanged) {
[AppDelegate sharedDelegate].stateChanged = NO;
}else{
NSLog(@"解锁");
}
}
}