ios 自动锁屏

#import <UIKit/UIKit.h>

 

@interface ELCUIApplication : UIApplication

{

  NSTimer *_idleTimer;

    NSInteger   timeCount;

}

@end

 

#import "ELCUIApplication.h"

 

@implementation ELCUIApplication

- (void)sendEvent:(UIEvent *)event {

    [super sendEvent:event];

    if (_idleTimer==nil) {

        [self resetIdleTimer];

    }

    

    NSSet *allTouches = [event allTouches];

    if ([allTouches count] > 0) {

        UITouchPhase phase = ((UITouch *)[allTouches anyObject]).phase;

        if (phase == UITouchPhaseBegan) {

            [self resetIdleTimer];

        }

    }

    

}

- (void)resetIdleTimer

{

    timeCount=3;

    if (_idleTimer==nil) {

        _idleTimer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(idleTimerExceeded) userInfo:nil repeats:YES];

    }

    NSRunLoop* run=[NSRunLoop currentRunLoop];

    [run addTimer:_idleTimer forMode:NSDefaultRunLoopMode];

}

- (void)idleTimerExceeded

{

    timeCount--;

    if (timeCount>=0) {

        NSLog(@"%ld",(long)timeCount);

    }else{

        NSLog(@"锁频通知发出");

        timeCount=3;

    }

}

@end

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

#import "ELCUIApplication.h"

 

int main(int argc, char * argv[]) {

    @autoreleasepool {

        return UIApplicationMain(argc, argv, @"ELCUIApplication", NSStringFromClass([AppDelegate class]));

    }

}

posted @ 2016-02-22 16:55  走天路  阅读(394)  评论(0编辑  收藏  举报