在我的应用程序中,用户需要通过iOS设置将设备wifi连接到另一个wifi。我希望我的应用程序在后台保留一段时间(比如最多5分钟),直到用户连接到另一个网络并返回到应用程序。
我观察到我的应用程序在切换设备wifi的过程中被从后台移除。应用程序不会在后台保持活动状态。
如何在后台保留iOS应用程序(iOS 9+)一段时间,例如5分钟?
发布于 2016-12-05 19:09:56
移动到后台的
应用程序预计会尽快将自己置于静止状态,以便系统可以挂起它们。如果您的应用程序正在执行一项任务,并且需要一点额外的时间来完成该任务,那么它可以调用
UIApplication对象的beginBackgroundTaskWithName:expirationHandler:或beginBackgroundTaskWithExpirationHandler:方法来请求一些额外的执行时间。调用这两个方法中的任何一个都会暂时延迟应用程序的挂起,给它一点额外的时间来完成它的工作。完成这项工作后,您的应用程序必须调用endBackgroundTask:方法,让系统知道它已经完成,可以挂起了。
发布于 2016-12-05 19:40:45
阅读iOS Backgrounding with Tasks 。
应用程序将在10分钟后进入后台,即600秒。
使用下面的代码可以知道剩余时间
NSLog(@"Time Remaining: %f", [[UIApplication sharedApplication] backgroundTimeRemaining]);因为你的需求只是打开wifi --我想这可能需要不到10分钟。
希望我的答案是明确的和有帮助的。
https://stackoverflow.com/questions/40972674
复制相似问题