0

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

如果我不知道问题,我无法解决(:

谢谢..

4

2 回答 2

0

您确定没有在您的视图顶部添加可能拦截您所有事件的视图吗?我的第二个猜测是您的应用收到了内存警告并卸载了一堆视图。但是,这不太可能,因为您仍然可以看到所有视图。

于 2012-08-22T22:48:54.417 回答
0

我不知道您“将您的应用程序带回前台”的真正含义,但我可以肯定地告诉您,您不能在同一个线程中调用 UI 和来电,因此对于这种情况,当您想要要在通话期间呈现一些视图,您可以尝试以下操作:

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

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

InvokeGUIThread(() =>
        {
            textBlockSome.Text = e.Item.ToString();
        });
于 2012-09-12T14:08:33.980 回答