0

電話をかけた後、どのようにコードを実行できますか? 私のアプリは、次のコードで電話をかけます。

- (void)callTelURL:(NSURL *)url
{
    UIWebView  *webview = [[UIWebView alloc] init];
    [self.view addSubview:webview];

    [webview loadRequest:[NSURLRequest requestWithURL:url]]; 
    [webview release];
}

すぐに applicationWillResignActive、applicationDidBecomeActive、applicationDidEnterBackground を取得しますが、通話が完了してアプリケーションに戻ると、applicationWillEnterForeground または applicationDidBecomeActive を取得することはありません。コードを実行できるように、通話から戻ったときに通知を受け取るためにできることはありますか?

4

1 に答える 1

0

呼び出しが着信したときにアプリがフォアグラウンドにある場合、applicationWillEnterForeground への呼び出しは取得されず、呼び出しは破棄されます。

http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

そのため、applicationDidBecomeActive でコードを実行しますが、前の呼び出しが applicationWillresignActive であった場合に限ります。

PSアプリがapplicationWillResignActiveを取得したからといって、applicationDidBecomeActiveが必ずしも電話を受けたことを意味するとは限りません。他のこともこれを引き起こす可能性があります。したがって、電話だけがこの動作を引き起こし、他には何も起こらなかった後にコードを実行したい場合、これに頼ることはできません

于 2012-06-12T01:09:00.870 に答える