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 回答