iOS 锁屏判断

iOS 锁屏判断spring

 

应用程序的单例类对象中获得应用程序委托的对象 app

UIApplicationDelegate* myDelegate = [[UIApplication sharedApplication] delegate];ui

 

UIApplication 接收到全部的系统事件和生命周期事件时,都会把事件传递给UIApplicationDelegate进行处理,对于用户输入事件,则传递给相应的目标对象去处理。spa

 

- (void)applicationWillResignActive:(UIApplication *)application server

   通知委托应用程序将进入非活动状态,在此期间,应用程序不接收消息或事件。对象

这个方法在用户锁住屏幕时,也会调用。token

 

与之相适应的是应用程序从新被用户打开时的委托 方法。另外经常使用的就是内存不足的系统警告,此时会调用应用程序委托类的applicationDidReceiveMemoryWarning()方法, 而后咱们就能够试着释放一些内存了。生命周期

 

 

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, updateEnabled, CFSTR("com.apple.iokit.hid.displayStatus"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);事件

    

    // 1状态内存

    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, lockComplete, CFSTR("com.apple.springboard.lockcomplete"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);

    // 2状态

    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, lockState, CFSTR("com.apple.springboard.lockstate"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);

 

 

static void updateEnabled(CFNotificationCenterRef center, void* observer, CFStringRef name, const void* object, CFDictionaryRef userInfo) {

    uint64_t state;

    int token;

    notify_register_check("com.apple.iokit.hid.displayStatus", &token);

    notify_get_state(token, &state);

    notify_cancel(token);

    NSLog(@"锁屏状态:%llu",state);

}

 

static void lockComplete(CFNotificationCenterRef center, void* observer, CFStringRef name, const void* object, CFDictionaryRef userInfo) {

    uint64_t state;

    int token;

    notify_register_check("com.apple.springboard.lockcomplete", &token);

    notify_get_state(token, &state);

    notify_cancel(token);

    NSLog(@"lockComplete状态:%llu",state);

}

 

static void lockState(CFNotificationCenterRef center, void* observer, CFStringRef name, const void* object, CFDictionaryRef userInfo) {

    uint64_t state;

    int token;

    notify_register_check("com.apple.springboard.lockstate", &token);

    notify_get_state(token, &state);

    notify_cancel(token);

    NSLog(@"lockState状态:%llu",state);

}

相关文章
相关标签/搜索