簡體   English   中英

如何查找通話是否已在android中接聽

[英]How to find if the call has been answered in android

我只想在呼出電話已經應答的情況下啟動計時器。 就像Nexus 5中的默認電話應用一樣。

有沒有辦法確定呼叫是否已應答?

撥打電話號碼后,我立即嘗試使用電話偵聽器,該電話到達CALL_STATE_OFFHOOK。 所以這不是正確的方法嗎?

有人可以幫我解決這個問題嗎?

謝謝!

可以幫助您:

public class CallLogReceiver extends BroadcastReceiver {

static boolean missedCall, incomingCall;

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub


    if (intent.getAction().equals("android.intent.action.PHONE_STATE")) {
        String state = intent.getExtras().getString(
                TelephonyManager.EXTRA_STATE);

        if ((state != null)
                && (state.equals(TelephonyManager.EXTRA_STATE_RINGING))) {
            CallLogReceiver.phoneNo = intent.getExtras().getString(
                    "incoming_number");
            CallLogReceiver.missedCall = true;
        }

        if ((state != null)
                && (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))) {
            CallLogReceiver.incomingCall = true;

        }
        if (state != null
                && !(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))
                && !(state.equals(TelephonyManager.EXTRA_STATE_RINGING))) {

            if (CallLogReceiver.missedCall && CallLogReceiver.incomingCall) {
                //incoming call logic
            }

            else if (CallLogReceiver.missedCall
                    && !CallLogReceiver.incomingCall) {
                // missed call logic
            }
            CallLogReceiver.missedCall = CallLogReceiver.incomingCall = false;
        }
      }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM