我知道這個問題的答案很晚。但我今天遇到它,並有一個想法,所以分享它。它可能會幫助未來訪問該帖子的其他人。
我想你可以在PhoneStateListener類的onCallStateChanged方法中檢查上次調用的傳出呼叫時間。如果狀態爲空閒,即TelephonyManager.CALL_STATE_IDLE,則獲取數據。
事情是這樣的:
Cursor mCallCursor = context.getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI,null,null,null,null);
int duration = mCallCursor.getColumnIndex(CallLog.Calls.DURATION);
while(mCallCursor.moveToFirst())
{
Toast.makeText(context, mCallCursor.getString(duration), Toast.LENGTH_LONG).show();
}
你可以找到更多有關here。我沒有測試過上面的代碼。但是這樣的事情應該起作用。
您可以檢查時間00:00,電話沒有回答。否則電話被回答。
希望這可以幫助你。
感謝您的回覆,它總比沒有好。但是......你的回答不是我想要的。我想要得到我的電話被回答的信號/事件。 – sunghun 2013-02-10 05:16:34
所以如果狀態是OFF_HOOK意味着呼叫被應答。 – AAnkit 2013-02-10 09:23:19