如何在iOS电话结束后恢复(或启动)我的应用程序(我的应用程序确实*不*启动电话)?

时间:2013-05-10 23:52:14

标签: ios background launch phone-call resume

我已经看到了几种方法来“确保我的应用程序在我的应用程序发起的电话已经结束后再次显示我的应用程序”但是这不是我想要的 - >我正在寻找的是一种方式,比如说我的应用程序当前正在后台运行网络通信,有人给我打电话,我希望我的应用程序能够“检测到何时通话已结束并恢复我的网络通信“和/或”在电话结束时启动/恢复我的应用程序回到前台“。是否有任何方式来完成这样的事情以及如何实现?

2 个答案:

答案 0 :(得分:3)

这在iOS中不受支持。

来自文档: http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html

http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Reference/CTCallCenter/Reference/Reference.html#//apple_ref/doc/uid/TP40009604

  

如果您的应用程序在发生调用事件时处于活动状态,系统会立即将事件调度给您的处理程序。但是,在您的应用程序暂停时也可以进行呼叫事件。暂停时,您的应用程序不会收到呼叫事件。当您的应用程序恢复活动状态时,它会为每个更改状态的呼叫接收单个呼叫事件 - 无论您的应用程序暂停时呼叫经历了多少状态更改。当您的应用程序返回活动状态时,发送给您的处理程序的单个调用事件描述了当时调用的状态。

您可以做的最好的事情是在应用程序打开时检测电话。

答案 1 :(得分:1)

当应用程序从活动状态转为非活动状态时,将调用

applicationWillResignActive。因此,如果您接到电话,则在应用程序背景化之前调用此方法。

  • 使用此方法暂停所有正在进行的任务并保存所需的任何设置。
当您的应用再次变为活动状态时,会调用

applicationDidBecomeActive

  • 使用此方法可以恢复已暂停的任何任务。示例将恢复您的网络通信