区分应用程序是否因为按下主页按钮或来电而变为非活动状态

时间:2011-04-18 18:43:15

标签: iphone ios4 interruptions

我知道只要应用程序变为非活动状态,就会发布UIApplicationWillResignActiveNotification本地通知。在相反的情况下,将发布UIApplicationDidBecomeActiveNotification通知。

客户希望应用根据中断采取不同的行动,他希望应用在主页按钮时关闭,但如果用户接到电话则保持活动状态。这似乎不可能,我是对的?如果有可能我该怎么办?

编辑:我知道在收到中断时如何关闭我的应用程序,我的问题是,是否可以区分中断的原因是按下主页按钮还是拨打电话,所以我的应用程序响应不同每个案例。

2 个答案:

答案 0 :(得分:1)

使用CTCallCenter通知功能,您可以合理可靠地使用Home或多任务托盘区分来电或发送至后台。

答案 1 :(得分:-2)

如果您希望在按下主页按钮时退出应用程序,则应在应用程序的Info.plist文件中将UIApplicationExitsOnSuspend键设置为YES。如果您在Xcode中编辑plist,则此键显示为Application does not run in background

然后,您可以处理所有终止以响应UIApplicationWillTerminateNotification通知(或等效地,在appDelegate的applicationWillTerminate:方法中。

此处提供更多信息:http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html