1

ホームボタンを押してアプリケーションがバックグラウンドになったときに画像をアップロードしたい。出来ますか?はいの場合、どのように?いいえの場合、他に選択肢はありますか?前もって感謝します...

4

2 に答える 2

3

このコードを特定の時間使用することで、バックグラウンドでタスクを実行できます。

 UIBackgroundTaskIdentifier bgTask = 0;
    UIApplication  *app = [UIApplication sharedApplication];
    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
        [app endBackgroundTask:bgTask]; 
    }];
    self.silenceTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self
                                                       selector:@selector(startLocationServices) userInfo:nil repeats:YES];

これを参照してください: http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

これはあなたを助けると思います。:)

于 2013-03-07T09:20:55.407 に答える
1

アプリは、長時間実行されるタスクを完了することができるように、閉じてから最大 10 分間バックグラウンドで実行するように要求できます。バックグラウンドで実行できるのは、一部のプロセスのみです。このリファレンスの長時間実行バックグラウンド タスクの実装セクションを参照してください。

アプリが許可されている場合は、以下のコードを試すことができます。

- (void)applicationDidEnterBackground:(UIApplication *)application

{

    UIBackgroundTaskIdentifier bgTask;
    bgTask = [application beginBackgroundTaskWithExpirationHandler:^{

        // Clean up any unfinished task business by marking where you

        // stopped or ending the task outright.

        [application endBackgroundTask:bgTask];

        bgTask = UIBackgroundTaskInvalid;

    }];



    // Start the long-running task and return immediately.

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{



        // Do the work associated with the task, preferably in chunks.



        [application endBackgroundTask:bgTask];

        bgTask = UIBackgroundTaskInvalid;

    });

}

アプリの残り時間を知りたい場合

NSTimeInterval ti = [[UIApplication sharedApplication]backgroundTimeRemaining];
NSLog(@"Remaining Time: %f", ti); // just for debug

詳細については、このリファレンス PDF (60 ページ)を参照してください。

于 2013-03-07T09:46:49.800 に答える