2012-06-10 40 views
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。當我從我的通話中返回時,我能做些什麼來通知,以便我可以執行一些代碼?

+0

可能重複[返回到應用程序行爲後本機代碼不同於本地代碼比UIWebView](http:// stackoverflow.com/questions/5317783/return-to-app-behavior-after-phone-call-different-in-native-code-than-uiwebview) –

+0

我曾看過那篇文章。它顯示瞭如何返回到您的應用程序,但沒有告訴返回後您可以在哪裏執行代碼。結果是我的是我沒有像我期待的那樣得到applicationWillEnterForeground事件。 –

回答

0

如果您的應用程序在前臺進入呼叫並且呼叫被解除時,您將不會收到對applicationWillEnterForeground的調用。

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

所以執行代碼applicationDidBecomeActive但只有當前述電話是applicationWillresignActive。

P.S. 僅僅因爲你的應用獲得了applicationWillResignActive,那麼applicationDidBecomeActive並不一定意味着你有電話,其他的事情也可能導致這種情況。所以你不能依靠這個,如果你想執行代碼後,只有一個電話引起這種行爲,沒有別的

相關問題