【问题标题】:How can we detect call interruption in our iphone application? [closed]我们如何在我们的 iphone 应用程序中检测到通话中断? [关闭]
【发布时间】:2012-07-24 22:58:05
【问题描述】:

我需要在我的应用程序中检测来电中断。当应用程序处于活动状态并且有任何来电或短信时,我的应用程序会获取来电号码以防通话,并获取所有详细信息以防短信。我想将这些存储在我的应用程序中。

这是否可以在我们的 iPhone 应用程序中检测到通话中断和来电短信提醒?

【问题讨论】:

    标签: iphone ios4 interrupt-handling


    【解决方案1】:

    你必须使用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;
    

    【讨论】:

      【解决方案2】:

      ApplicationWillResignActive 委托方法调用在这种情况下....更多信息阅读此

      【讨论】:

        【解决方案3】:

        您的应用委托将收到-applicationDidResignActive 消息,并且您的应用可以侦听UIApplicationDidResignActiveNotification。当您的应用程序被呼叫中断时以及在应用程序被中断的其他情况下(例如屏幕锁定或用户按下锁定按钮时)将收到这些信息。

        【讨论】:

        • 对任何帖子投反对票还为时过早,也很粗鲁。好吧,我知道这些代表,但我想检测通话中断而不是任何其他。我必须只为通话中断工作。
        • @iphonedev23 我没有投票给你。如果是这种情况,那么您需要将其与 Ankit 上面的答案结合起来。但是,您要求社区尽快提供答案,而您甚至没有做出最简单的贡献 - 接受那些解决了您的问题或导致解决方案的答案。
        猜你喜欢
        • 1970-01-01
        • 2011-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多