【发布时间】:2012-08-25 12:40:43
【问题描述】:
在我的应用中,我在一个方法上下载了大量图像。
我正在使用一个
downloadTask = [[UIApplication sharedApplication]
beginBackgroundTaskWithExpirationHandler:^{
[[UIApplication sharedApplication] endBackgroundTask:downloadTask];
downloadTask = UIBackgroundTaskInvalid;
}];
这工作正常,如果我按主页或睡眠按钮,图像会继续下载。
我在 UIAlertView 内的 UIProgressView 中显示进度,当百分比为 100% 时,alertView 被拒绝,我将 viewController 更改为显示下载图像的其他位置。 但我只希望在下载完成时应用真正处于活动状态时发生这种情况。
我一直在查看应用程序的状态,并且在屏幕关闭的情况下下载。
[UIApplication sharedApplication].applicationState
在所有下载过程中状态为 UIApplicationStateActive
我如何知道屏幕是关闭还是打开时进行下载?
接受答案后编辑:
我刚刚发现,如果我点击主页按钮,应用程序会进入 UIApplicationStateBackground,如果我点击唤醒/睡眠,它会进入 UIApplicationStateInactive
按照正确答案的方法,我的应用在这两种情况下都会继续下载。
【问题讨论】:
标签: iphone objective-c ios ipad background