2012-04-18 2 views
2

첫째,연결은 블루투스를 Socket.connect()을 거부 - 안드로이드

Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); 
tmp = (BluetoothSocket) m.invoke(device, 1); 
와 장치를 페어링 후

...이 문제는 이전까지되었지만 내가 찾은 sugested 솔루션 중 누구도 내 문제를 해결하지 알고 나쁜 상태에서 파일 설명 - 연결이 fail1을 거부 -

나는이 나에게 fail0를 제공

boolean connected = false; 
String cause = ""; 
for(int i=0; i<3; i++){ 
    try { 
     mmSocket.connect(); 
    } catch (IOException e) { 
     Log.e("btact","fail"+i+" - "+e.getMessage()); 
     cause = e.getMessage(); 
     continue; 
    } 
    connected = true; 
} 

if(!connected){ 
    try { 
     mmSocket.close(); 
    } catch (IOException e2) { 
     Log.e(TAG, "unable to close() " + mSocketType + 
       " socket during connection failure", e2); 
    } 

    Log.e("----btact----", cause); 
    connectionFailed(); 
    return;    
} 

사용하여 연결을 시도합니다fail2 - 파일 디스크립터 상태가 불량합니다. 파일 디스크립터 상태가 불량합니다.

이 문제가 발생할 수 있으며 어떻게 해결할 수 있습니까?

+0

mmSocket.connect(); for 루프를 사용하여 세 번. –

+0

예. 그게 안드로이드 블루투스 소켓과의 연결 문제를 "해결하는"표준 방법 인 것 같습니다. 분명히 그것은 보통 두 번째 또는 세 번째 시간에 작동합니다 ... – daker

+0

동일한 문제가 있습니다. 연결이되면 무선 헤드셋에 성공적으로 연결할 수 있지만 내 PC의 블루투스 동글에 연결하려고하면 동일한 문제가 발생합니다. 이 문제를 해결 했습니까? – jchristof

답변

관련 문제