2012-06-05 35 views

回答

4

您可以使用CTCallCenter的CTCallState属性在applicationWillEnterForeground中执行此操作。不要忘记导入CoreTelephony框架。这里有一个例子:

#import <CoreTelephony/CTCall.h> 
#import <CoreTelephony/CTCallCenter.h> 
#import <CoreTelephony/CTCarrier.h> 
#import <CoreTelephony/CTTelephonyNetworkInfo.h> 

- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 
    [callCenter setCallEventHandler:^(CTCall *call) { 
     if ([[call callState] isEqual:CTCallStateIncoming] || [[call callState] isEqual:CTCallStateDialing]) { 

      if ([viewController isPlaying]) 
      { 
       NSLog(@"Call was started."); 
      } 
     } else if ([[call callState] isEqual:CTCallStateDisconnected]) { 
      if (callWasStarted) 
      { 
       NSLog(@"Call was ended."); 
      } 
     } 
    }]; 
} 
+1

你可以编辑自己的答案,而无需创建重复:) – Fogmeister

相关问题