当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/

10-12 02:00