ios phone phonegap编程如何处理呼入呼出的应用?

how to handle the application on outgoing and incoming calls in ios phone phonegap programming?

任何人都可以建议我如何处理 iOS phone 中的应用程序,如果有任何呼出和呼入 phone 呼叫。实际上我是 phone 基于间隙的应用程序的新手

目前我正在开发一个在后台跟踪位置的应用程序。如果出现任何来电或去电,我需要停止我的应用程序后台位置跟踪(incoming/outgoing 呼叫)并在呼叫结束后开始位置跟踪。

我已经提到了这个 link: How detect incoming and outgoing call end state? iphone

   [[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(callReceived:) name:CTCallStateIncoming object:nil];

   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callEnded:) name:CTCallStateDisconnected object:nil];

   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callConnected:) name:CTCallStateConnected object:nil];

添加核心电话框架及其委托方法解决了我的要求。

   //Initialize the plugin
  - (void)pluginInitialize
   {
   self.callCenter = [[CTCallCenter alloc] init];
   [self handleCall];

   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callReceived:) name:CTCallStateIncoming object:nil];
   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callEnded:) name:CTCallStateDisconnected object:nil];
   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callConnected:) name:CTCallStateConnected object:nil];
    }


 //handle calls
 -(void)handleCall
   {
    self.callCenter.callEventHandler = ^(CTCall *call){

    if ([call.callState isEqualToString: CTCallStateConnected])
    {
        NSLog(@"call CTCallStateConnected");//Background task stopped
    }
    else if ([call.callState isEqualToString: CTCallStateDialing])
    {
        NSLog(@"call CTCallStateDialing");
    }
    else if ([call.callState isEqualToString: CTCallStateDisconnected])
    {
        NSLog(@"call CTCallStateDisconnected");//Background task started
    }
    else if ([call.callState isEqualToString: CTCallStateIncoming])
    {
        NSLog(@"call CTCallStateIncoming");
    }
    else  {
        NSLog(@"call NO");
    }
  };
 }