나가는 전화에 응답 한 경우에만 타이머를 시작하고 싶습니다. Nexus 5의 기본 전화 앱과 같습니다.전화가 android에서 응답되었는지 찾는 방법
통화에 응답했는지를 파악할 수있는 방법이 있습니까?
전화 번호를 다이얼 한 직후 전화 수신기를 시도한 결과 CALL_STATE_OFFHOOK에 도착했습니다. 그래서 이것이 올바른 접근법이 아닙니까?
누군가 나를 알아낼 수 있습니까?
감사합니다.
나가는 전화에 응답 한 경우에만 타이머를 시작하고 싶습니다. Nexus 5의 기본 전화 앱과 같습니다.전화가 android에서 응답되었는지 찾는 방법
통화에 응답했는지를 파악할 수있는 방법이 있습니까?
전화 번호를 다이얼 한 직후 전화 수신기를 시도한 결과 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;
}
}
}
}
나는 여전히 같은 문제가 있습니다 - 나는 다이얼을 누르면 즉시 state_OFFHOOK로갑니다. – TheDevMan
아니요 코드에 문제가 있습니다. 전화 번호를 다이얼하면 상태가 EXTRA_STATE_RINGING이되고 픽업하면 상태가 EXTRA_STATE_OFFHOOK ... 디버그를 시도합니다. –
[발신 통화가 응답 한 경우 감지]의 중복 가능성 (http://stackoverflow.com/questions/2250455/detect-if-an-outgoing- 통화 응답되었습니다) – Sree