开发者社区 问答 正文

请问iOS 开发怎么设置和获取锁屏的时间长短 ?

在ios开发中 如何代码设置锁屏的时间 以及获取设置的锁屏时间

展开
收起
爵霸 2016-03-06 11:04:43 3273 分享 版权
1 条回答
写回答
取消 提交回答
  • 获取的时间 , 我是不知道!可以监听锁屏, 程序在前台,这种比较简单。直接使用Darwin层的通知就可以了:

    #import
    
    #define NotificationLock CFSTR("com.apple.springboard.lockcomplete")
    
    #define NotificationChange CFSTR("com.apple.springboard.lockstate")
    
    #define NotificationPwdUI CFSTR("com.apple.springboard.hasBlankedScreen")
    
    static void screenLockStateChanged(CFNotificationCenterRef center,void* observer,CFStringRef name,const void* object,CFDictionaryRef userInfo)
    
    {
    
    NSString* lockstate = (__bridge NSString*)name;
    
    if ([lockstate isEqualToString:(__bridge  NSString*)NotificationLock]) {
    
        NSLog(@"locked.");
    
    } else {
    
        NSLog(@"lock state changed.");
    
    }
    }
    
    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    
    // Override point for customization after application launch.
    
    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, NotificationLock, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
    
    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, NotificationChange, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
    
    //setScreenStateCb();
    
    return YES;
    }
    2019-07-17 18:54:18
    赞同 展开评论