在iOS中获取最后一个拨出电话状态[关闭]

Posted

技术标签:

【中文标题】在iOS中获取最后一个拨出电话状态[关闭]【英文标题】:get last outgoing call status in iOS [closed] 【发布时间】:2018-02-08 08:06:18 【问题描述】:

我们正在通过将带有电话号码的 tel url 传递给 javascript 中的 document.location.href 来从应用程序(非 voip 应用程序)发起呼叫。 我们正在尝试实现一个 cordova 插件,以便在通话完成后获取通话状态。 在android中我们使用PhoneStateListener来实现这个

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

添加属性:

 @property ( nonatomic ) CXCallObserver *callObserver;

在pluginInitialize中添加,

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 很陌生。有什么我想补充的吗?有人可以帮忙解决这个问题吗?

【问题讨论】:

例如:***.com/questions/41933109/… @Anbu.karthik,我们的是非 voip 应用程序。因此我们没有 SIP 事件处理程序。还有其他选择吗? 【参考方案1】:

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

【讨论】:

以上是关于在iOS中获取最后一个拨出电话状态[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 lync 应用程序中获取拨出呼叫状态

检测拨出电话何时开始播放回铃音

拨出电话时的后台行为,iOS 7 与 iOS 8

拨出电话后如何恢复背景音乐(iOS)?

使用 CallKit 显示用于拨出 VoIP 呼叫的 iOS 本机呼叫 UI

如何将来自 url 的音频流直播到拨出的 twilio 电话中?