当iPhone应用程序在后台运行时,我正在使用ASIHTTPRequest下载多个文件。我想在队列结束时显示UILocalNotification
。
在应用恢复之前,不会调用以下委托方法:
- (void)queueFinished:(ASINetworkQueue *)aQueue
{
NSLog(@"Queue finished");
if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.alertBody = NSLocalizedString(@"All downloads completed");
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
[localNotification release];
}
}
那么,如何显示此通知?
最佳答案
您的代表未得到 call 的原因很可能是因为您的应用程序已在后台暂停。如果您正在执行某种冗长的网络过程,并且该过程会在用户关闭应用程序后继续进行,则可以在启动网络任务时使用-[UIApplication beginBackgroundTaskWithExpirationHandler:]
,以便您的应用程序继续在后台运行,直到完成网络任务为止。但是,它仍然可以过期,因此不能保证您有足够的时间来完成。
关于iphone - ASINetworkQueue完成所有请求后如何显示UILocalNotification?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5911509/