gpt4 book ai didi

objective-c - 当 iphone 中有来电和去电时,我们可以触发事件吗?

转载 作者:太空狗 更新时间:2023-10-30 03:52:13 25 4
gpt4 key购买 nike

当 iphone 上的来电和去电结束时,我可以触发事件吗?事件的示例是调用网络服务。

最佳答案

是的,你可以,但不一定立即。

有一个框架,称为 CoreTelephony 框架,它有一个 CTCallCenter 类。此类的属性之一是 callEventHandler property .这是一个在电话调用的状态发生变化时被触发的 block 。例如:

CTCallCenter *callCenter = ...; // get a CallCenter somehow; most likely as a global object or something similar?

[callCenter setCallEventHandler:^(CTCall *call) {
if ([[call callState] isEqual:CTCallStateConnected]) {
//this call has just connected
} else if ([[call callState] isEqual:CTCallStateDisconnected]) {
//this call has just ended (dropped/hung up/etc)
}
}];

这就是真的您可以用它做的所有事情。您无法访问任何电话号码。唯一有用的信息是 CTCall 上的标识符属性,因此您可以唯一地标识一个 CTCall 对象。

注意:

除非您的应用程序在前台,否则不会调用此事件处理程序!如果您在应用程序处于后台时调用和接听电话,事件处理程序将不会触发直到您的应用程序再次激活,此时(根据上面链接的文档)事件处理程序将被调用当应用程序在后台时,每次更改状态的调用

关于objective-c - 当 iphone 中有来电和去电时,我们可以触发事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798426/

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