在 iOS 中获取最后一次拨出电话状态
get last outgoing call status in iOS
我们正在通过将带有 phone 号码的电话 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 很陌生。有什么我想补充的吗?有人可以帮助解决这个问题吗?
问题在于使用我们的框架进行日志记录。
我们现在可以使用上述实现查看调用状态
我们正在通过将带有 phone 号码的电话 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 很陌生。有什么我想补充的吗?有人可以帮助解决这个问题吗?
问题在于使用我们的框架进行日志记录。 我们现在可以使用上述实现查看调用状态