Я пишу приложение для Android, чтобы общаться с аппаратным устройством, которое полностью вне моего контроля.
Мое приложение создает прослушивающий сокет, используя listenUsingRfcommWithServiceRecord и UUID 00001101-0000-1000-8000-00805F9B34FB. Затем он вызывает accept () для этого сокета, чтобы дождаться подключения удаленного устройства, но это никогда не происходит.
Я говорил с производителями аппаратного устройства, и они говорят, что их устройство «просто подключится к каналу 1» на удаленном устройстве. то есть он не выполняет обнаружение SDP для определения правильного номера канала. Они отказываются изменить это (хотя это, конечно, неправильно)
Мой вопрос: есть ли способы заставить Android использовать фиксированный номер канала RFCOMM? Может быть, использовать отражение, как уловка прямого вызова createRfcommSocket при подключении к клиенту.