【发布时间】:2012-07-24 22:58:05
【问题描述】:
我需要在我的应用程序中检测来电中断。当应用程序处于活动状态并且有任何来电或短信时,我的应用程序会获取来电号码以防通话,并获取所有详细信息以防短信。我想将这些存储在我的应用程序中。
这是否可以在我们的 iPhone 应用程序中检测到通话中断和来电短信提醒?
【问题讨论】:
标签: iphone ios4 interrupt-handling
我需要在我的应用程序中检测来电中断。当应用程序处于活动状态并且有任何来电或短信时,我的应用程序会获取来电号码以防通话,并获取所有详细信息以防短信。我想将这些存储在我的应用程序中。
这是否可以在我们的 iPhone 应用程序中检测到通话中断和来电短信提醒?
【问题讨论】:
标签: iphone ios4 interrupt-handling
你必须使用CoreTelephony Framework 您可以使用 CTCall 类获取有关调用状态的信息。 CTCallCenter 允许您注册呼叫事件状态更改,但您的应用程序需要处于运行状态。当您的应用程序移至后台时,您可能需要请求最长后台时间(我猜是 10 分钟)。这些 api 仅在 iOS 4.0 及更高版本中可用。您可以根据需要使用这些。
extern NSString const *CTCallStateDialing;
extern NSString const *CTCallStateIncoming;
extern NSString const *CTCallStateConnected;
extern NSString const *CTCallStateDisconnected;
【讨论】:
ApplicationWillResignActive 委托方法调用在这种情况下....更多信息阅读此
【讨论】:
您的应用委托将收到-applicationDidResignActive 消息,并且您的应用可以侦听UIApplicationDidResignActiveNotification。当您的应用程序被呼叫中断时以及在应用程序被中断的其他情况下(例如屏幕锁定或用户按下锁定按钮时)将收到这些信息。
【讨论】: