[英]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.