ios实现程序切入后台,实现后台任务
2014-05-27 16:17
267 查看
1,项目需求,是程序home键切入后台,3分钟后退出登陆,
首先,iOS 会再持续切入后台,给我们5秒钟的时间去处理相关数据,5秒后,程序不会再执行任何代码,处于挂起状态。
- (void)applicationDidEnterBackground:(UIApplication *)application {
//切入后台 ,申请后台任务时间,
UIApplication *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier taskID;//一个后台任务标识符
taskID = [app beginBackgroundTaskWithExpirationHandler:^{ //如果系统觉得我们运行时间太长,将执行这个程序块,并停止运行应用程序
[app endBackgroundTask:taskID];
}];
if (taskID == UIBackgroundTaskInvalid)
{//UIBackgroundTaskInvalid表示系统没有为我们提供额外的时间
return;
}
[self performSelector:@selector(exitApp) withObject:nil afterDelay:180.0];//退入后台
延时3分钟,退出登陆
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[[UIApplication sharedApplication] endBackgroundTask:taskID];//切回前台,结束后台任务
[NSObject cancelPreviousPerformRequestsWithTarget:selfselector:@selector(exitApp) object:nil];//取消之前将要退出的方法
}
参考博客 http://blog.csdn.net/diyagoanyhacker/article/details/7071055
首先,iOS 会再持续切入后台,给我们5秒钟的时间去处理相关数据,5秒后,程序不会再执行任何代码,处于挂起状态。
- (void)applicationDidEnterBackground:(UIApplication *)application {
//切入后台 ,申请后台任务时间,
UIApplication *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier taskID;//一个后台任务标识符
taskID = [app beginBackgroundTaskWithExpirationHandler:^{ //如果系统觉得我们运行时间太长,将执行这个程序块,并停止运行应用程序
[app endBackgroundTask:taskID];
}];
if (taskID == UIBackgroundTaskInvalid)
{//UIBackgroundTaskInvalid表示系统没有为我们提供额外的时间
return;
}
[self performSelector:@selector(exitApp) withObject:nil afterDelay:180.0];//退入后台
延时3分钟,退出登陆
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[[UIApplication sharedApplication] endBackgroundTask:taskID];//切回前台,结束后台任务
[NSObject cancelPreviousPerformRequestsWithTarget:selfselector:@selector(exitApp) object:nil];//取消之前将要退出的方法
}
参考博客 http://blog.csdn.net/diyagoanyhacker/article/details/7071055
相关文章推荐
- ios实现程序切入后台,实现后台任务
- ios实现程序切入后台,实现后台任务
- ios实现程序切入后台,实现后台任务
- ios实现程序切入后台,实现后台任务 (转自)
- ios实现程序切入后台,实现后台任…
- 在程序被送入后台时,向 iOS 借点时间,来完成一个长期任务
- 在程序被送入后台时,向 iOS 借点时间,来完成一个长期任务,比如定时器
- IOS 后台挂起程序 当程序到后台后,继续完成Long-Running Task 任务
- iOS 程序退到后台,如何继续执行任务
- iOS无限后台任务实现——亲测
- ios实现无限后台任务
- Ios后台任务运行实现
- iOS开发简单的实现后台任务(诸如后台播放音乐,定时器等)
- IOS程序后台运行及多任务
- IOS 后台挂起程序 当程序到后台后,继续完成定位任务
- IOS实现在后台执行一定时间的任务
- 【iOS】swift 让程序挂起后,能在后台继续运行任务
- 在程序被送入后台时,向 iOS 借点时间,来完成一个长期任务,比如定时器
- ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调试功能正常)
- ios 实现在后台运行的长期任务