禁用Callkit按钮

时间:2017-06-13 10:36:27

标签: ios callkit

是否可以禁用CallKit按钮。如下图所示 -

enter image description here

我想禁用keypad mute等按钮,这意味着触摸不会对此按钮起作用。我怎样才能做到这一点。我已经完成了其他教程,但我很困惑。

2 个答案:

答案 0 :(得分:1)

您无法禁用静音或扬声器按钮,因为这会提供破碎的音频体验。但是,您可以控制其他一些按钮。您将要使用CXCallUpdate对象配置您的呼叫。例如,当连接来电时,此CXCallUpdate会生成以下呼叫屏幕(同样适用于出站呼叫):

CXCallUpdate* callUpdate = [CXCallUpdate new];
callUpdate.supportsDTMF = YES;
callUpdate.hasVideo = NO;
callUpdate.supportsGrouping = NO;
callUpdate.supportsUngrouping = NO;
callUpdate.supportsHolding = NO;
[self.provider reportNewIncomingCallWithUUID:callId update:callUpdate completion:^(NSError * _Nullable error) {}];

Example Active Callkit Call with controls disabled

答案 1 :(得分:0)

至少在iOS 10中,你无法禁用它。

但是如果您希望这些按钮不起作用,您可以忽略应用中的通知并且不执行任何操作。

如果您希望以后在用户按下这些按钮时执行任何操作,则必须覆盖下一个功能:

- (void)provider:(CXProvider *)provider performSetHeldCallAction:(CXSetHeldCallAction *)action;
- (void)provider:(CXProvider *)provider performSetMutedCallAction:(CXSetMutedCallAction *)action;
- (void)provider:(CXProvider *)provider performSetGroupCallAction:(CXSetGroupCallAction *)action;
- (void)provider:(CXProvider *)provider performPlayDTMFCallAction:(CXPlayDTMFCallAction *)action;