22

我是ios的新手。我想知道是否有任何方法來檢測通話事件,如來電,即使我的應用程序不在前臺,即時通話。如果是的話,那麼我是否可以閱讀有關該通話的詳細信息,如持續時間,是否錯過,撥打或接收。提前致謝。在ios中檢測通話事件

+0

查看這些鏈接。 http://stackoverflow.com/questions/10054706/how-to-identifying-iphone-incoming-call-and-display-notification http://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference /CoreTelephonyFrameworkReference/_index.html –

+0

這個答案是否定的。請參閱:http://stackoverflow.com/a/5395355/907513 – vagase

+0

由於iOS 8沒有出局,所以無論如何檢測來電,即使我的應用程序不在前臺的傳出呼叫等通話事件。還是其他新的替代品? – nanospeck

回答

30

是的,你可以檢測到一個呼叫。但前提是你的應用程序正在運行。 爲此,您可以使用Core Telephony Framework

如果您的應用將落入任何後臺運行類別(VOIP,AUDIO,位置跟蹤或附件),您可能可以在後臺使用 CTCallCenter。但請注意,如果您錯過了使用後臺運行模式的功能,Apple會拒絕您的應用程序。

CTCallCenter將允許您檢測任何已啓動或正在進行的呼叫。

但是,您將無法檢測到有關該呼叫的任何詳細信息,因此識別呼叫的CTCall只會告訴您此狀態。 callIDCTCall只會給你一個呼叫的唯一標識符,但不是被呼叫的號碼。

+1

感謝兄弟,但有什麼辦法來獲得來電號碼或名稱在背景狀態....? –

+0

@Mohittomar不,這是不可能的,並會違反隱私。 – rckoenes

+2

那麼他們如何在這個應用程序工作https://itunes.apple.com/in/app/caller-id-ringtones-hear-who/id317855277?mt=8 –