Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Is it possible to be notified or detect when a GSM/CDMA call is taking place on an iOS handset?

I have an application that uses audio in the background and I want to be able to detect when a call is taking place so that my app can react accordingly so as not to intrude on the cellular call in anyway.

Essentially I want to be able to detect when a call is taking place so that if the user enters my application while on a call I can disable some functionality.

So I was wondering how I can detect that a cellular call is taking place on a device?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
335 views
Welcome To Ask or Share your Answers For Others

1 Answer

As of iOS 4, you can use the CTCallCenter class in the Core Telephony framework to register an event handler so your app gets notified when a call starts or ends. The CTCall it gives you has a callState property, which can be CTCallStateDialing, CTCallStateIncoming, CTCallStateConnected, or—when it ends—CTCallStateDisconnected.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...