2012-02-13 25 views
4

我正在開發Android 2.3.3的應用程序。它包含一些EditView,用於顯示來電信息:國家,當前時間,電話號碼......我知道如何獲取並顯示該信息。我面臨的問題是我不知道如何顯示我的活動而不是來電的標準屏幕。顯示我的活動,而不是傳入呼叫的​​標準屏幕

現在它顯示來電後的信息。

怎麼辦呢?

+0

這有什麼需要? – Sameer 2012-02-13 06:25:34

+0

@Sameer,我想顯示我的活動,而不是傳入呼叫的​​標準屏幕。 – 2012-02-13 10:39:34

回答

2

這是不可能的。根據PhoneApp,用於啓動InCallScreen的意圖綁定到phoneapp,你沒有機會攔截這個。所以每次都會顯示屏幕。

你可能嘗試做的是由TelephonyManager通知當手機進入CALL_STATE_RINGING狀態,然後畫你的UI剛過InCallScreen。這樣做可能是可能的,但是您無法從您的UI中摘掉電話(不確定,但我不這麼認爲)。當InCallScreen彈出時,狀態也不會立即設置,它會延遲幾毫秒。

+0

如何在InCallScreen上繪製我的UI? – 2012-02-13 11:22:39

+1

好問題,我不知道如何做到這一點。但是有一些方法(有些應用程序會覆蓋系統中的所有其他應用程序)。你應該爲這個特殊情況開始一個新的問題。編輯:[http://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW]可能會幫助你 – Luminger 2012-02-13 13:40:10

+0

看到不可能! https://play.google.com/store/apps/details?id=com.androminigsm.fscifree&hl=en – 2012-04-07 22:44:42

2

看看如何顯示在來電屏幕彈出窗口的問題:
Popup over incoming-call screen
android incoming call screen

如果沒有足夠顯示了來電界面的彈出,那麼你可以讓你的彈出窗口覆蓋整個屏幕以隱藏它。此時,您需要一種方法來接受來電,而不顯示默認來電屏幕(您現在正在覆蓋)。快速搜索發現this answer,這表明接受來電的解決方法。我不確定是否有官方的API來執行此操作。

1

除非您修改Android OS編碼,否則不可能在android中刪除傳入呼叫的​​默認UI。但是,您可以使用自己的自定義用戶界面活動。它是通過使用Thread概念來實現的(使定製設計的用戶界面能夠在默認界面中出現)!

相關問題