javascript - 如何在 ios 手机 phonegap 编程中处理呼出和呼入电话的应用程序?

标签 javascript ios objective-c cordova phonegap-plugins

任何人都可以建议我如何处理 iOS phonegap 中的应用程序,如果有任何拨出电话和来电。实际上我是基于电话间隙的应用程序的新手

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

我提到了这个链接: 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];

最佳答案

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

   //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");
    }
  };
 }

关于javascript - 如何在 ios 手机 phonegap 编程中处理呼出和呼入电话的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800638/

相关文章:

javascript - JQuery 返回 Null .next()

objective-c - 来自推送通知的推送 View

ios - 如何检查 CGContext 是否包含点?

iphone - 从一个 UIViewController 管理多个 UIView

iphone - 有了 obj-c 中的属性,我们需要声明实例变量吗?

javascript - 使用 HTML 按钮调用 PHP 函数

javascript - 如何从 Node.js 中的 Post 请求获取收据数据

javascript - 尝试查找随机数时提示变量不起作用

objective-c - 如何在 BlockCode 中捕获异常( Objective-C )

objective-c - 将 NSNumber 对象添加到 NSMutableArray