4

나는 안드로이드 용 프로그램을 작성하려고합니다. 내 프로그램으로 전화를 걸고 그 후에 통화 상태를 인식하고 싶습니다. 흐르는 기능으로 내가 놀고 상태를 인식 할 수있는 상태에 응답을 위해이 기능을 시도 일하러하지 않습니다하지만 당신이 할 수 있습니다발신 전화에서 응답 또는 거부 상태를 감지하는 방법

private class PhoneCallListener extends PhoneStateListener { 

    private boolean isPhoneCalling = false; 

    String LOG_TAG = "LOGGING 123"; 

    @Override 
    public void onCallStateChanged(int state, String incomingNumber) { 

     if (TelephonyManager.CALL_STATE_RINGING == state) { 
      // phone ringing 
      Log.i(LOG_TAG, "RINGING, number: " + incomingNumber); 
     } 

     if (TelephonyManager.CALL_STATE_OFFHOOK == state) { 
      // active 
      Log.i(LOG_TAG, "OFFHOOK"); 

      isPhoneCalling = true; 
     } 

     if (TelephonyManager.CALL_STATE_IDLE == state) { 
      // run when class initial and phone call ended, need detect flag 
      // from CALL_STATE_OFFHOOK 
      Log.i(LOG_TAG, "IDLE"); 

      if (isPhoneCalling) { 

       Log.i(LOG_TAG, "restart app"); 

       // restart app 
       Intent i = getBaseContext().getPackageManager() 
         .getLaunchIntentForPackage(
           getBaseContext().getPackageName()); 
       i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(i); 

       isPhoneCalling = false; 
      } 

     } 
    } 
} 
+1

에 오신 것을 환영합니다. 질문하는 최선의 방법에 대한 정보는 [FAQ] 및 [About] 페이지를 확인하십시오. 이 경우에는 "작동하지 않습니다"- 오류 메시지/발생하지 않는 것/기타 등등에 대해 구체적으로 설명해야합니다. –

답변

-2

작동하지 않습니다 CALL_STATE_IDLE 및 CALL_STATE_OFFHOOK와 그. 프로그래밍 방식으로 발신 벨소리의 끝을 감지해야합니다 ...

+2

고마워요. 내가 어떻게 할 수 있니? –