以编程方式拨打电话后执行代码

时间:2012-06-10 22:06:27

标签: iphone objective-c callback

如何在拨打电话后执行代码?我的应用程序使用以下代码拨打电话:

- (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。当我从通话中返回时,我能做些什么来接收通知,以便我可以执行一些代码吗?

1 个答案:

答案 0 :(得分:0)

如果您的应用在进入呼叫时处于前台,然后该呼叫被解除,您将无法接听applicationWillEnterForeground。

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

所以执行applicationDidBecomeActive中的代码,但仅在前面的调用是applicationWillresignActive时执行。

P.S。 仅仅因为您的应用获得了applicationWillResignActive,然后applicationDidBecomeActive并不一定意味着您接到了电话,其他事情也可能导致这种情况。因此,如果您只想在电话呼叫导致此行为后再执行代码,则无法依赖此