我的应用程序的某些部分会更好地突出显示给用户,如果他们在电话上。有没有办法判断用户在使用手机时是否正在使用您的应用程序?
是否有打电话来查看我们是否在打电话?不幸的是,出于显而易见的原因,“致电”在API文档中检查是一个可怕的词。
我的应用程序的某些部分会更好地突出显示给用户,如果他们在电话上。有没有办法判断用户在使用手机时是否正在使用您的应用程序?
是否有打电话来查看我们是否在打电话?不幸的是,出于显而易见的原因,“致电”在API文档中检查是一个可怕的词。
CoreTelephony Framework可以告诉你。
的CTCallCenter currentCalls方法返回一组的当前活动的蜂窝呼叫。
当iPhone收到呼叫时,应用程序退出。你可以注册一个回调来妥善处理此事件,请参阅:
后,您的应用程序将重新启动。
出现在通话过程中保留您的应用程序的状态只是写得好:)
Arggh!我刚刚读了你的实际问题。
我找不到,也不知道任何API访问电话应用程序。我唯一的建议是,Phone是一个像其他应用程序一样的应用程序 - 它可以通过所有应用程序提供的http隧道发布信息。
我想知道如果你能有一个“我的手机”按钮,用户可以按来达到同样的效果?
当呼叫进入时,应用程序不会退出,它将转换到非活动状态。下面的方法应该是呼吁UIApplicationDelegate:
- (void)applicationWillResignActive:(UIApplication *)application
这种方法也被称为在其他情况下,当iPhone被锁定,例如,你有没有办法确定,如果它是一个呼入电话引起它。
看看[[UIScreen mainScreen] bounds]
和[[UIScreen mainScreen] applicationFrame]
之间的尺寸差异。如果diff是20像素,并且您没有隐藏状态栏,则用户可能不在通话中。如果差异为40像素,则用户可能正在通话,因为通话过程中出现的发光绿色状态栏大约是正常状态栏的两倍。
我以前没有这样做过,所以YMMV。祝你好运,让我知道,如果它的工作!
我以为这是答案,但tethering做同样的事情......:O( – Michael 2009-11-03 19:30:09
这是场景。 Bob从Jill接到电话。发生呼叫时Bob不使用我的应用程序。 Jill要求从我的应用程序中存储的鲍勃的一些信息。 Bob在电话中按下主页按钮,然后运行我的应用程序。 在这一点上,我想检测到鲍勃正在通过电话交谈,或者如果鲍勃刚刚在不通电话的情况下运行应用程序。 我不在乎应用程序运行时进入的电话 – Michael 2009-10-07 20:33:49
伟大的问题。我也想知道。 – Jordan 2009-10-07 21:48:12