2011-09-15 68 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