Когда я пытаюсь подключиться с моего компьютера к устройству Bluetooth, я получаю сообщение об ошибке: javax.bluetooth.BluetoothConnectionException: Failed to connect; [10051] A socket operation was attempted to an unreachable network.
Это работает в моем приложении для Android.
В моем приложении для Android я просто звонюBluetoothAdapter#getRemoteDevice(address)
, а затем BluetoothDevice#createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"))
.
В приложении Java я получаю устройство с startInquiry
, которое работает, потому что адрес совпадает с адресом от Android. Затем я искал сервисы с searchServices(null, new UUID[]{new UUID("0000110100001000800000805F9B34FB", false)}, device, this);
, на самом деле ServiceRecord
toString()
выглядит так:
0x4:
DATSEQ {
DATSEQ {
UUID 0000010000001000800000805f9b34fb
}
DATSEQ {
UUID 0000000300001000800000805f9b34fb
U_INT_1 0x1
}
}
0x1:
DATSEQ {
UUID 0000110100001000800000805f9b34fb
}
0x0:
U_INT_4 0x10002
}
Затем я делаю record.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false)
с возвратами btspp://censored:1;authenticate=true;encrypt=false;master=false
. Затем я пытаюсь соединиться с ним, используя Connector.open(url)
. К сожалению, через некоторое время возникло исключение:
Exception in thread "main" javax.bluetooth.BluetoothConnectionException: Failed to connect; [10051] A socket operation was attempted to an unreachable network.
at com.intel.bluetooth.BluetoothStackMicrosoft.connect(Native Method)
at com.intel.bluetooth.BluetoothStackMicrosoft.access$700(BluetoothStackMicrosoft.java:44).```