美文网首页带我飞3iOS 开发
应用后台执行代码

应用后台执行代码

作者: 阿咿呀嘿 | 来源:发表于2015-04-05 22:10 被阅读176次

    当按下Home键时,应用进入后台,并有5秒时间做保存或清理工作,但使用UIApplication的beginBackgroundTaskWithExpirationHandler方法可以让应用最多有10分钟的时间在后台运行。

    @property(nonatomic,assign)UIBackgroundTaskIdentifier backgroundUpdateTask;

    - (void)applicationDidEnterBackground:(UIApplication*)application {

    [self beingBackgroundUpdateTask];

    //需要后台执行的代码

    NSLog(@"后台工作中。。。。。");

    [self endBackgroundUpdateTask];

    }

    - (void)beingBackgroundUpdateTask

    {

    self.backgroundUpdateTask= [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{

    [self endBackgroundUpdateTask];

    }];

    }

    - (void)endBackgroundUpdateTask

    {

    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask];

    self.backgroundUpdateTask=UIBackgroundTaskInvalid;

    }

    相关文章

      网友评论

      • FengxinLi:请问一下楼主 [self beingBackgroundUpdateTask];

        //需要后台执行的代码

        NSLog(@"后台工作中。。。。。");

        [self endBackgroundUpdateTask];
        这调用必须begin 然后end吗?但是我看你beingBackgroundUpdateTask里面 block里面也有[self endBackgroundUpdateTask]; 这个应该怎么理解呢?

      本文标题:应用后台执行代码

      本文链接:https://www.haomeiwen.com/subject/wszaxttx.html