【问题标题】:How to set a app run in background in iphone? [closed]如何在iphone中设置应用程序在后台运行? [关闭]
【发布时间】:2012-07-26 02:28:36
【问题描述】:

如何在iphone中设置应用程序在后台运行??

【问题讨论】:

    标签: iphone background


    【解决方案1】:

    参考以下代码。

    - (void)applicationDidEnterBackground:(UIApplication *)application
    {
         UIApplication* app = [UIApplication sharedApplication];
    
        //Create a task object
        __block UIBackgroundTaskIdentifier backgroundTask;
    
        backgroundTask = [app beginBackgroundTaskWithExpirationHandler:^{
            dispatch_async(dispatch_get_main_queue(), ^{
                if (backgroundTask != UIBackgroundTaskInvalid) {
                    [app endBackgroundTask:backgroundTask];
                    backgroundTask = UIBackgroundTaskInvalid;
                }
            });
        }];
    
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            dispatch_async(dispatch_get_main_queue(), ^{
                if (backgroundTask != UIBackgroundTaskInvalid) {
    
                    // do stuff              
    
                    [app endBackgroundTask:backgroundTask];
                    backgroundTask = UIBackgroundTaskInvalid;
                }
            });
        });
    }
    

    【讨论】:

      【解决方案2】:

      您可以在应用程序被引导到后台后的有限时间内执行任务,但仅限于提供的持续时间。运行时间超过此时间将导致您的应用程序终止。请参阅 iOS 应用程序编程指南的“Completing a Long-Running Task in the Background”部分了解如何进行此操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-02
        相关资源
        最近更新 更多