2012-04-21 38 views
0

我的應用需要知道對方是否已經接到我的電話。我需要在1或2個環之後執行一些邏輯。如何知道撥打的號碼已收到鈴聲?

爲此,我重寫了onCallStateChanged方法,並檢查CALL_STATE_RINGING狀態。但看起來這種方法並不是100%完美的,因爲在狀態改變爲CALL_STATE_RINGING之後,環發生需要一些時間。

關於如何繼續執行的任何建議?一種方法是在狀態更改爲CALL_STATE_RINGING之後有2至3秒的延遲。但是這種方法真的很愚蠢,因爲電信公司的延遲會有所不同。任何其他想法?

+0

出於某種原因CALL_STATE_OFFHOOK有用的是顯示了3倍 – webgenius 2012-04-22 04:42:53

回答

0

不知道是否可以檢測當對方拾起,我仍然認爲,當我打電話時,該鏈接可以給你

How do I get state of a outgoing call in android phone?

+0

感謝您的鏈接。真的很奇怪,爲什麼谷歌沒有提供枚舉來查明傳出狀態。顯然,手機將知道來自供應商RIL的出局呼叫的狀態(來自基帶的未經請求的響應)。這隻需要像其他狀態變化響應一樣傳達給框架。 – webgenius 2012-04-21 21:29:16