iOS-app进入后台申请10分钟活跃时间
来源:互联网 发布:淘宝增加销量团队 编辑:程序博客网 时间:2024/04/30 23:32
IOS允许长时间在后台运行的情况有7种:
audio
VoIP
GPS
下载新闻
和其它附属硬件进行通讯时
使用蓝牙进行通讯时
使用蓝牙共享数据时
除以上情况,程序退出时可能设置短暂运行10分钟
让程序退出后台时继续运行10分钟
在XXAppDelegate中增加:UIBackgroundTaskIdentifier bgTask;
- (void)applicationDidEnterBackground:(UIApplication *)application{ bgTask = [application beginBackgroundTaskWithExpirationHandler:^{ // 10分钟后执行这里,应该进行一些清理工作,如断开和服务器的连接等 // ... // stopped or ending the task outright. [application endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }]; if (bgTask == UIBackgroundTaskInvalid) { NSLog(@"failed to start background task!"); } // Start the long-running task and return immediately. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // Do the work associated with the task, preferably in chunks. NSTimeInterval timeRemain = 0; do{ [NSThread sleepForTimeInterval:5]; if (bgTask!= UIBackgroundTaskInvalid) { timeRemain = [application backgroundTimeRemaining]; NSLog(@"Time remaining: %f",timeRemain); } }while(bgTask!= UIBackgroundTaskInvalid && timeRemain > 0); // 如果改为timeRemain > 5*60,表示后台运行5分钟 // done! // 如果没到10分钟,也可以主动关闭后台任务,但这需要在主线程中执行,否则会出错 dispatch_async(dispatch_get_main_queue(), ^{ if (bgTask != UIBackgroundTaskInvalid) { // 和上面10分钟后执行的代码一样 // ... // if you don't call endBackgroundTask, the OS will exit your app. [application endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; } }); });}- (void)applicationWillEnterForeground:(UIApplication *)application{ // 如果没到10分钟又打开了app,结束后台任务 if (bgTask!=UIBackgroundTaskInvalid) { [application endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }}
UIApplication *application = [UIApplication sharedApplication];if( application.applicationState == UIApplicationStateBackground) { return;}
2 0
- iOS-app进入后台申请10分钟活跃时间S
- iOS-app进入后台申请10分钟活跃时间
- iOS App进入后台获取10min的运行时间
- iOS App进入后台获取更多的运行时间
- iOS App进入后台获取更多的运行时间
- iOS App进入后台获取更多的运行时间
- iOS App进入后台获取更多的运行时间
- iOS App进入后台获取更多的运行时间
- iOS App进入后台获取更多的运行时间
- iOS App进入后台获取更多的运行时间
- 后台申请3分钟运行时间
- iOS申请延长进入后台代码片段
- ios后台申请运行一定的时间
- iOS申请持续的后台时间
- iOS App进入后台进程不死
- iOS----------检测app进入后台或前台
- iOS 检测app进入后台或前台
- IOS 后台挂起,向IOS申请后台无限时间
- 90%的企业都会考虑的数据平台建设方案
- 五子棋评分表算法
- paip.spring 获取bean getBean 没有beanid的情况下
- jsp基础学习---jsp中的注释方法
- swift float扩展
- iOS-app进入后台申请10分钟活跃时间
- 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
- 笔记,见了就忘的零零碎碎
- java设计模式之单例模式
- 今天在看路由的时候看到parse()和getTime()方法~
- java多线程一些知识
- R树
- android之android.intent.category.DEFAULT的用途和使用
- js获取目录位置与传值方式