美文网首页带我飞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