gpt4 book ai didi

iphone - iPhone 中的通话事件

转载 作者:行者123 更新时间:2023-11-29 03:34:18 25 4
gpt4 key购买 nike

我正在尝试获取调用事件(已收到调用、已结束调用等)
我尝试运行 CoreTelephonyDemo 的示例代码,但没有收到任何调用事件。
任何人都可以指导我。

我在 applicationWillResignActive 中尝试了此代码,但没有收到任何事件。我错过了什么或做错了什么吗?请指导。

- (void)applicationWillResignActive:(UIApplication *)application
{
CTCallCenter *callCenter1 = [[CTCallCenter alloc] init];
callCenter1.callEventHandler=^(CTCall* call)
{
if (call.callState == CTCallStateDisconnected)
{
NSLog(@"Call has been disconnected");
}
else if (call.callState == CTCallStateConnected)
{
NSLog(@"Call has just been connected");
}
else if(call.callState == CTCallStateConnected)
{
NSLog(@"Call is incoming");
}
else
{
NSLog(@"None of the conditions");
}
};
}

最佳答案

您可以检测调用事件。您的应用程序委托(delegate)将收到对各种 UIApplicationDelegate 的调用。各种事件发生时的协议(protocol)方法。其中之一是 - (void)applicationWillResignActive:(UIApplication *)应用程序方法,用于来电或短信调用,但也可能出于其他原因调用。

只有当您的应用程序在前台运行时,您才能检测到调用。

如果您的应用程序属于任何后台运行类别(VOIP、音频、位置跟踪或附件),您可以使用 CTCallCenter在后台。但请注意,如果您错过将后台运行模式用于不适合的用途,Apple 将拒绝您的应用程序。
CTCallCenter将允许您检测任何已启动或正在进行的调用。

但是,您将无法检测到有关调用的任何详细信息,CTCall识别调用只会告诉你这个状态。 CTCall的callID只会为您提供调用的唯一标识符,而不是被调用的号码。

关于iphone - iPhone 中的通话事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com