2011-09-15 40 views
1

我希望在接听电话时显示来自LDAP服务器的来电者的其他信息。在通话屏幕上方显示信息

我学会了我无法显示Dialog(和吐司太短)从Service。所以我为此创建了特殊的Activity,但有时候,Activity的呼叫在我的Activity之后开始,并且它隐藏了它。那么,在系统调用Activity显示之后,是否有某种方法可以可靠地启动我的LDAP Activity

如果没有,我想我会做类似于应用Adaffix(请参阅第二个屏幕截图)的操作,并将其显示为覆盖。我知道它使用WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY完成,但从我看到的代码中,我不知道如何使用它。如果有人可以提供我的代码来显示屏幕顶部的一些文字的白色矩形,我会很高兴。

或者还有其他一些“正确”的方式来做到这一点吗?我无意实施我自己的通话屏幕!

+0

你找出了解决方案吗?如果是这样,请张贴它 – Guy

回答

0

这里发生的情况是,通话屏幕正在覆盖您的活动。您需要覆盖通话屏幕。

您可以在开始活动之前放置延迟来覆盖呼叫屏幕。延迟将在500毫秒左右,并且可能会更少或更大。你需要测试它并检查你得到期望结果的延迟。

+0

嗯,这可能会起作用,但它不是完全正确的解决方案,使用一些_magic_延迟常量,对吧? – Pitel

+0

你找到了解决方案吗?如果是的话请张贴 – Guy

+0

不用,只是用了延迟。 :/ – Pitel