2010-08-09 3 views
2

들어오는 호출을 가로 채고 시끄러운 스피커를 자동으로 활성화하는 방법을 알고 싶습니다. 이 클래스는 com.android.internal.telephony에 사용되지만 propre 문서는 찾을 수 없습니다. 당신의 도움을 주셔서 감사합니다. 사용-허가 안드로이드 : 이름 = "android.permission.MODIFY_AUDIO_SETTINGS"여기Android 시끄러운 스피커 및 통화 차단

답변

2

AudioManager POAudioService = (AudioManager) POContext.getContext().getSystemService(Context.AUDIO_SERVICE); 
POAudioService.setSpeakerphoneOn(true); 
+0

위의 코드에서 POContext는 무엇입니까? 당신이 만든 수업입니까? BroadCastReceiver를 사용하여 스피커를 켜기 위해 유사한 코드를 시도했지만 작동하지 않습니다. 이 질문에 대답 해 주시겠습니까? http://stackoverflow.com/questions/8617381/turn-on-speakerphone-whenever-an-outgoing-call-is-made 매니페스트 파일에 필요한 모든 권한을 부여했습니다. – AllSolutions

+0

POContext는 일반적인 컨텍스트입니다. i는 내 자신의 변수로 정의했습니다. –

1
private TelephonyManager telManager; 

//on create method 
telManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 

     if (telManager != null) { 
      telManager.listen(phoneStateListener, 
        PhoneStateListener.LISTEN_CALL_STATE); 
     } 


PhoneStateListener phoneStateListener = new PhoneStateListener() { 
     @Override 
     public void onCallStateChanged(int state, String incomingNumber) { 
      if (state == TelephonyManager.CALL_STATE_RINGING) { 

       onCall = true; 


      } else if (state == TelephonyManager.CALL_STATE_IDLE) { 

       onCall = false; 

      } else if (state == TelephonyManager.CALL_STATE_OFFHOOK) { 

       onCall = true; 
       //activate your loud speaker 


      } 
      super.onCallStateChanged(state, incomingNumber); 
     } 
    }; 
1

필요한 권한

PhoneStateListener mListner = new PhoneStateListener() { 
      @Override 
      public void onCallStateChanged(int state, String incomingNumber) { 

       switch (state) { 
        case TelephonyManager.CALL_STATE_OFFHOOK: 

         // TODO 
         break; 
        case TelephonyManager.CALL_STATE_RINGING: 

         // TODO 
         break; 
        default: 
         break; 
       } 
      }; 
     }; 

이 시끄러운 스피커를 활성화 수신 통화

을 차단하기위한 코드입니다