2013-09-21 94 views
1

在我的應用程序中,我必須檢測撥出電話是接受還是斷開連接或振鈴。我通過這些職位去:是否可以知道在Android中是否接受撥出電話

但是,這些職位給一個合適的回答。我使用的是Android內部類com.android.internal.telephony.CallManager,但我只能瞭解電話狀態是否空閒。

回答

0

正式說明您不能這樣做,如解釋here所示,但有一個解決方法,我正在使用: 您可以保存上次狀態並使用它來識別呼出電話何時從摘機移至閒置,意味着電話被掛斷或接受。所以,要知道它是哪一個,你可以檢查該通話是否仍然存在,如果可以,可以告訴該通話已被回答並執行你的代碼。

例如:

// 0 --> 1 || 0 --> 2 
if ( laststate == TelephonyManager.CALL_STATE_IDLE 
    && ( state == TelephonyManager.CALL_STATE_RINGING 
     || state == TelephonyManager.CALL_STATE_OFFHOOK)) 
{ 
} 
else if (state == TelephonyManager.CALL_STATE_IDLE) 
{ 
} 

if ( laststate == TelephonyManager.CALL_STATE_OFFHOOK 
    && state == TelephonyManager.CALL_STATE_IDLE) 
{ 
} 

laststate = state; 
+0

其實我怎麼會用lastState variable.means我必須存儲它靜態或sharedpreference..canüPLZ告訴我深刻? –

+0

這不是我的答案。這個條件不滿足得到振鈴狀態或接受狀態。 –

相關問題