ios实现程序切入后台,实现后台任务 (转自)

 1 1,项目需求,是程序home键切入后台,3分钟后退出登陆,  2  3  首先,iOS 会再持续切入后台,给我们5秒钟的时间去处理相关数据,5秒后,程序不会再执行任何代码,处于挂起状态。  4  5  6  7  8  9 - (void)applicationDidEnterBackground:(UIApplication *)application { 10 11 //切入后台 ,申请后台任务时间, 12 13 UIApplication *app = [UIApplication sharedApplication]; 14 15 UIBackgroundTaskIdentifier taskID;//一个后台任务标识符 16 17 taskID = [app beginBackgroundTaskWithExpirationHandler:^{ //如果系统觉得我们运行时间太长,将执行这个程序块,并停止运行应用程序 18 19 20 21  [app endBackgroundTask:taskID]; 22 23  }]; 24 25 26 27 if (taskID == UIBackgroundTaskInvalid) {//UIBackgroundTaskInvalid表示系统没有为我们提供额外的时间 28 29 30 31 return; 32 33  } 34 35 36 37 [self performSelector:@selector(exitApp) withObject:nil afterDelay:180.0];//退入后台 延时3分钟,退出登陆 38 39 40 41 } 42 43 - (void)applicationWillEnterForeground:(UIApplication *)application { 44 45 46 47 [[UIApplication sharedApplication] endBackgroundTask:taskID];//切回前台,结束后台任务 48 49 [NSObject cancelPreviousPerformRequestsWithTarget:selfselector:@selector(exitApp) object:nil];//取消之前将要退出的方法 50 51 52 53 } 54 55 

转自;http://blog.sina.com.cn/s/blog_7f422a89010190jk.html

你可能感兴趣的:(ios)