iOS 后台任务 beginBackgroundTaskWithExpirationHandler

正常情况下程序退出后,会在几秒之后停止工作。

若想让app进入后台保持活动状态可以设置beginBackgroundTaskWithExpirationHandler

 1 // AppDelegate.h 文件
 2 @property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundUpdateTask;
 3 // AppDelegate.m 文件
 4 - (void)applicationDidEnterBackground:(UIApplication *)application
 5 {
 6     [self beingBackgroundUpdateTask];
 7     // 在这里处理操作。完成后手动调用 endBackgroundUpdateTask
 8     [self endBackgroundUpdateTask];
 9 }
10 - (void)beingBackgroundUpdateTask
11 {
12     self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
13         [self endBackgroundUpdateTask];//如果在规定时间内任务没有完成,会调用这个方法。
14     }];
15 }
16 - (void)endBackgroundUpdateTask
17 {
18     [[UIApplication sharedApplication] endBackgroundTask: self.backgroundUpdateTask];
19     self.backgroundUpdateTask = UIBackgroundTaskInvalid;
20 }

 

上一篇:程序完整启动流程


下一篇:bzoj 3232 01分数规划+最大权封闭子图判定