在活动蜂窝呼叫期间,VOIP应用程序窗口(在前台)被阻止接收用户输入

时间:2012-08-22 21:32:00

标签: ios cocoa-touch voip banner background-foreground

在有效的VOIP通话期间,当收到并接听来电时,我的应用程序会进入后台。如果,在移动电话上,我将我的应用程序带回前台,应用程序视图出现但没有响应。 “触摸返回呼叫”横幅以绿色显示在视图的顶部,但应用视图显示为好像在其顶部覆盖了较暗的透明窗口,阻止视图接收输入。如果我将我的应用程序放到后台,将另一个应用程序带到前台然后将我的应用程序带回前台,一切都按预期工作,所以问题似乎特定于活动的单元格调用和/或仅绿色横幅?在设置 - >通知 - >手机中我尝试关闭通知中心和警报样式无,希望删除横幅以查看问题是否仍然存在,但这些设置不会影响该横幅。除了App窗口看起来有一个透明的窗口覆盖在它上面,如果我触摸窗口,我可以在所有方向上拖动整个应用程序窗口(或视图)(向上左右)并且它有一个反弹当我释放它时效果(比如tableview垂直滚动)。

如果我不知道问题,我无法修复它(:

谢谢..

2 个答案:

答案 0 :(得分:0)

您确定在您的视图上没有添加任何视图可能会拦截您的所有活动吗?我的第二个猜测是你的应用程序收到内存警告并卸载了一堆视图。但是,由于您仍然可以看到所有观点,因此不太可能。

答案 1 :(得分:0)

我不知道“将你的应用程序带回前台”是什么意思,但我可以肯定地告诉你,你不能在同一个线程中调用UI和来电,所以对于这样的情况当你想在通话期间渲染一些视图时,你可以尝试这样的事情:

public void InvokeGUIThread(Action action)
{
  Dispatcher.Invoke(action);
}

例如,如果您想在文本块中设置文本,请执行以下操作:

InvokeGUIThread(() =>
        {
            textBlockSome.Text = e.Item.ToString();
        });