【发布时间】:2017-02-20 12:07:59
【问题描述】:
有什么方法可以快速以编程方式拒绝来电。我的代码是这样的:
self.callCenter.callEventHandler = {(_ call: CTCall) -> Void in
if call.callState == CTCallStateDisconnected {
print("Call has been disconnected")
}
else if call.callState == CTCallStateConnected {
print("Call has just been connected")
}
else if call.callState == CTCallStateIncoming {
print("Call is incoming")
}
else {
print("None of the conditions")
}
我以这种方式检测来电状态。但我不知道如何更改 callstate 的 CTCAll 。请帮帮我!。
【问题讨论】:
-
你无法做到这一点。至少对于未越狱的设备而言。
-
这里有一个objective-c代码:
-
此代码告诉您电话是否处于通话状态。它不允许您修改状态。想象一下,如果 Apple 允许应用程序这样做会发生什么,人们会创建恶意应用程序,通过断开电话基本上使手机瘫痪。 (始终假设此类应用程序会通过 Apple Review 和 App Process 看门狗将允许它们在后台运行无限时间)。答案是 NO 并且有充分的理由!
-
@NSNoob 仅仅因为你不能提供一个好的理由并不意味着没有一个。希望提供来电显示以及根据他们所做的事情接听/拒绝呼叫的能力的家庭自动化应用程序呢?也许对于那些难以导航在床头柜上使用两个大按钮的触摸界面的残疾人/盲人来说。在回答技术问题时,最好将固执己见/答案留给自己。
-
除此之外,几乎所有其他系统修改都有一个弹出窗口,询问用户并提供描述性详细信息,他们将使用所述权限做什么。通知、相机、GPS,都使用上述接口。这可以很容易地扩展到 CallKit API。