2

まず、この問題が以前に発生したことは知っていますが、私が見つけた提案された解決策のどれも私の問題を解決しません...

デバイスをペアリングした後

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 - 不適切な状態のファイル記述子。不適切な状態のファイル記述子。

この問題の原因と解決方法を教えてください。

4

1 に答える 1