代码之家  ›  专栏  ›  技术社区  ›  Remya Sujatha

在iOS中获取最后一个传出呼叫状态[已关闭]

  •  0
  • Remya Sujatha  · 技术社区  · 7 年前

    我们正在通过将带有电话号码的电话url传递到文档来启动来自应用程序(非voip应用程序)的呼叫。地方javascript中的href。
    我们正在尝试实现一个cordova插件,以便在调用完成后获取调用状态。 在android中,我们使用PhoneStateListener来实现这一点

    我们在ios中有类似的服务吗? 我尝试使用CXCallObserver,如下所示

    添加的属性:

     @property ( nonatomic ) CXCallObserver *callObserver;
    

    在插件初始化中添加,

    CXCallObserver *callObserver = [[CXCallObserver alloc] init];
    [callObserver setDelegate:self queue:nil];
    self.callObserver = callObserver;
    

    并添加了以下方法

     (void)callObserver:(CXCallObserver *)callObserver callChanged:(CXCall *)call {
            NSString* callstatus = @"Call Changed";
            if (call == nil || call.hasEnded == YES) {
                NSLog(@"CXCallState : Disconnected");
                callstatus = @"Call Disconnected";
            }
    
            if (call.isOutgoing == YES && call.hasConnected == NO) {
                NSLog(@"CXCallState : Dialing");
                callstatus = @"Call Dialing";
            }
    
            if (call.isOutgoing == NO  && call.hasConnected == NO && call.hasEnded == NO && call != nil) {
                NSLog(@"CXCallState : Incoming");
                callstatus = @"Call Incoming";
            }
    
            if (call.hasConnected == YES && call.hasEnded == NO) {
                NSLog(@"CXCallState : Connected");
                callstatus = @"Call Connected";
            }
        }
    

    但调用状态更改时,不会调用callObserver方法。

    我对ios非常陌生。有什么我想补充的吗?有人能帮助解决这个问题吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Remya Sujatha    7 年前

    问题是使用我们的框架进行日志记录。 我们现在可以使用上述实现查看调用状态