首先,我知道此问题已经出现过,但我发现的任何一种解决方案都没有解决我的问题......
将设备与
配对后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 :(得分:0)
@Radu,对于API 10及更高版本,我们可以使用createInsecureRfcommSocketToServiceRecord和 listenUsingInsecureRfcommWithServiceRecord,它工作正常! 对于API 9,我被迫使用它作为API中的方法不工作 - http://mobisocial.stanford.edu/news/2011/03/bluetooth-reflection-and-legacy-nfc/