2011-04-19 3 views

답변

2

클래스를 PhoneStateListener으로 확장하고 onCallStateChanged 메서드를 재정의하십시오. 샘플 코드 :

PhoneStateListener phoneStateListener = new PhoneStateListener() { 
    @Override 
    public void onCallStateChanged(int state, String incomingNumber) { 
     if (state == TelephonyManager.CALL_STATE_RINGING) { 
      .... 
     } else if(state == TelephonyManager.CALL_STATE_IDLE) { 
      .... 
     } else if(state == TelephonyManager.CALL_STATE_OFFHOOK) { 
      .... 
     } 
     super.onCallStateChanged(state, incomingNumber); 
    } 
}; 

그리고 AndroidManifest.xml에 다음과 같은 권한을 추가 :이 도움이

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

희망을

class myCallListener extends PhoneStateListener{ 

     @Override 
     public void onCallStateChanged(int state, String incomingNumber) { 
      // TODO Auto-generated method stub 
      switch (state) { 
      case TelephonyManager.CALL_STATE_RINGING: 
        // your logic here 
       break; 

      default: 
       break; 
      } 

      super.onCallStateChanged(state, incomingNumber); 

     } 
    } 
+0

답장을 보내 주셔서 감사합니다. 하지만 그것은 나를 위해 일하고 있지 않습니다. 먼저 장치에 코드를 실행 한 다음 장치에 전화를 걸면 간단한 들어오는 호출 대신 아무것도 얻지 못했습니다. 도와주세요. 내가 어떻게 달릴 수 있을지. –

+0

안녕하세요 Sunit을 사용하면 manifest.xml에 READ_PHONE_STATE를 추가하고 코드 조각이 실행될 때 인정 될 수 있도록 일부 논리를 작성했으면합니다. – Dinash

0

당신은 당신의 Activity 또는 ServicePhoneStateListener를 선언해야합니다.

관련 문제