如果用户正在打电话,我的应用程序的某些部分会更好地突出显示给用户。
有电话询问我们是否在通话吗?不幸的是,由于显而易见的原因,在 API 文档中检查“调用”是一个可怕的词。
如果用户正在打电话,我的应用程序的某些部分会更好地突出显示给用户。
有电话询问我们是否在通话吗?不幸的是,由于显而易见的原因,在 API 文档中检查“调用”是一个可怕的词。
看看[[UIScreen mainScreen] bounds]
和之间的大小差异[[UIScreen mainScreen] applicationFrame]
。如果差异为 20 像素并且您没有隐藏状态栏,则用户可能不在通话中。如果差异为 40 像素,则您的用户可能正在通话,因为在通话期间出现的绿色发光状态栏大约是正常状态栏的两倍。
我以前没有这样做过,所以 YMMV。祝你好运,让我知道它是否有效!
CoreTelephony 框架可以告诉你。
CTCallCenter currentCalls 方法返回一组当前活动的蜂窝电话。
当有来电时应用程序不会退出,它会转换到非活动状态。应在UIApplicationDelegate上调用以下方法:
- (void)applicationWillResignActive:(UIApplication *)application
在其他情况下也会调用此方法,例如当 iPhone 被锁定时,您无法确定是否是来电引起的。
当 iPhone 接到电话时,应用程序退出。您可以注册一个回调来优雅地处理此事件,请参阅:
通话结束后,您的应用程序将重新启动。
在通话期间似乎保留您的状态的应用程序写得很好:)
啊!我刚刚阅读了您的实际问题。
我找不到,也不知道有任何 API 可以访问电话应用程序。我唯一的建议是,Phone 是一个与其他应用程序一样的应用程序——它可以通过所有应用程序提供的 http 隧道发布信息。
我想知道你是否可以让用户按下“我正在打电话”按钮来达到相同的效果?