2014-06-12 2 views
0

startBluetoothSco에 연결하는 데 문제가 있습니다. 기다리는 동안 SCO_AUDIO_STATE_CONNECTED 반환 값을 얻은 다음 메시지를 소리내어 읽도록 계속 수행합니다. 연결된 상태가 반환 될 때까지 이미 메시지의 절반을 소리내어 읽었습니다. 내가 잠을 자면 주요 활동이 중단되고 아무 일도 일어나지 않습니다. 내가 안드로이드에서 초보자라고 말할 수 있듯이. 감사합니다Android startBluetoothSco를 기다리십시오. SCO_AUDIO_STATE_CONNECTED

답변

3

이것은 조금 오래되었지만 같은 문제가 있었으므로 어쨌든 대답 할 수있을 것이라고 생각했습니다.

설정 수신기 :

ScoReceiver = new BroadcastReceiver() { 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     if (intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1) == 
      AudioManager.SCO_AUDIO_STATE_CONNECTED) { 

      // SCO now connected 
     } 
    } 
}; 

는 그런 다음로 IntentFilter를 작성하고 등록 수신기

IntentFilter intentFilter = new IntentFilter(); 
intentFilter.addAction(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED); 

this.registerReceiver(ScoReceiver, intentFilter); 

그런 다음 SCO를 시작

am = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE); 

am.setMode(AudioManager.MODE_IN_COMMUNICATION); 
am.startBluetoothSco(); 

SCO를

를 사용하여 수행 할 때
관련 문제