まず、この問題が以前に発生したことは知っていますが、私が見つけた提案された解決策のどれも私の問題を解決しません...
デバイスをペアリングした後
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 - 不適切な状態のファイル記述子。不適切な状態のファイル記述子。
この問題の原因と解決方法を教えてください。