2012-04-18 83 views
2

首先,我知道這個問題以前一直上升,但沒有sugested的解決方案,我發現的解決我的問題......拒絕連接藍牙socket.connect() - 機器人

Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); 
tmp = (BluetoothSocket) m.invoke(device, 1); 
配對設備後

我嘗試使用

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;    
} 

這讓我 fail0連接 - 連接被拒絕 FAIL1 - 在狀態不好的文件描述符fail2 - 文件描述符處於不良狀態 文件描述符處於不良狀態

Whay可能會導致此問題,我該如何解決它?

+0

你在錯誤連接我guess.Why您是否使用mmSocket.connect();三次使用for循環。 – 2012-04-18 10:38:11

+0

是的。因爲這似乎是「解決」與android藍牙套接字連接問題的標準方式。顯然它通常第二次或第三次... – daker 2012-04-18 10:44:23

+0

有同樣的問題。配對時,我可以成功連接到無線耳機,但是當我嘗試連接到我的電腦的藍牙適配器時,我遇到了同樣的問題。你解決了這個問題嗎? – jchristof 2012-07-23 01:35:56

回答