如何在应用程序启动时检测何时触发电话?

时间:2011-08-18 08:47:45

标签: iphone objective-c ios

我的应用程序是优惠券购物,用户将在手机中下载优惠券,完成后将被指示自动现金支付。 如果用户下载了5张优惠券,并且中间获得了一个电话,因为它是iOS4,它会转到后台。 因此,当我们按下主页按钮时,应用程序也会通过此行为转到后台。当用户通过homebutton退出应用程序时,我保存了少量数据并恢复优惠券。 但在iOS 4中,homebutton按下和电话中断显示相同的行为并调用相同的功能,我如何区分2。 请这是一个单调乏味的功能,请帮帮我.......

2 个答案:

答案 0 :(得分:2)

没有多任务处理:对于不支持后台执行或链接到iOS 3.x或更早版本的应用程序,当用户退出应用程序时,始终会调用applicationWillTerminate:方法。 对于支持后台执行的应用程序,当用户退出应用程序时,此方法通常不会被称为,因为在这种情况下应用程序只是移动到后台。

使用多任务处理:您可以在app委托中实施applicationWillResignActive:委托方法,该方法在暂时中断期间调用(例如incoming phone call或{ {1}})或当用户退出应用程序并开始转换到后台状态时。

SMS message

答案 1 :(得分:1)

iOS不会告诉应用程序导致中断的原因,例如电话,短信或按主页按钮。这是Apple的深思熟虑的设计决定。 Apple希望将应用程序设计为表现出相同的行为,无论是什么导致中断。