如何确定应用程序由于电话或由于用户按主页button而移动到后台状态

当我的应用移动到后台时,我想要执行不同的操作,具体取决于移动到该状态的原因是有未接来电,还是由于用户点击了主页button而移动到该状态。

在这两种情况下,应用程序委托收到一个willResignActive:,然后didEnterBackground:调用。 因此,从应用程序委托调用,似乎不可能确定差异。 有什么方法吗?

UIApplicationDelegate协议有多种Monitoring Application State Changes的方法。

不幸的是(对于你)来说, 进入背景背景 ,为什么没有区别。 考虑到苹果的应用程序devise(为了安全起见),我没有看到它们提供了有关您的应用程序之外的电话正在进行的详细信息。

我肯定会质疑在这两种情况下需要不同的行为,但我不知道你的应用程序的细节。