2012-11-14 3 views
0

어떻게 알 수 있습니까 .. 해결책이없는 것 같습니까? 그렇지?발신 전화가 언제 선택되는지 어떻게 알 수 있습니까?

public void onCallStateChanged(int state, String incomingNumber) { 
     switch(state) { 
      case TelephonyManager.CALL_STATE_IDLE: 
        Log.d("Tony","Outgoing Call finished"); 
        // Call Finished -> stop counter and store it. 
        callStop=new Date().getTime(); 
        context.stopService(new Intent(context,ListenerContainer.class)); 

       break; 
      case TelephonyManager.CALL_STATE_OFFHOOK: 
        Log.d("Tony","Outgoing Call Starting"); 
        // Call Started -> start counter. 
        // This is not precise, because it starts when calling, 
        // we can correct it later reading from call log 
        callStart=new Date().getTime(); 
       break; 
     } 
    } 

여기에 우리는 단지 2 개의 상태가 있습니까 ?? 다른 해결책? 통화를 시작하자마자 OFFHOOK이 시작되고 통화가 끝날 때까지 통화가 종료됩니다. 전화가 걸려 왔을 때를 구분할 방법이 없습니다 .. 내 프로젝트는 통화가 언제 선택되는지를 알아야합니다 ..

답변

0

내가 아는 한 동일한 API는 없습니다. 또한 EXTRA_STATE_OFFHOOK 정보를 인쇄하여 통화 연결시 정보가 포함되어 있는지 확인할 수 있습니다.

+0

다른 제안 사항이 있으십니까? – navjosh

0

발신 전화가 응답되는지 감지 할 방법이 없습니다. OFFHOOK 상태가 트리거 된 번호로 전화를 걸면 수신 전화가 울리는 시간과 응답 시간은 동일하지만 발신 통화와 동일한 시간은 식별 할 수 없습니다.

관련 문제