Android RFCOMM-сокет на фиксированном канале

Я пишу приложение для Android, чтобы общаться с аппаратным устройством, которое находится вне моего контроля.

Мое приложение создает прослушивающий сокет usi ng listenUsingRfcommWithServiceRecord и UUID 00001101-0000-1000-8000-00805F9B34FB. Затем он вызывает accept () для этого сокета, чтобы дождаться подключения удаленного устройства, но этого не происходит.

Я разговаривал с производителями оборудования, и они сказали, что их устройство «просто подключится к каналу 1» на удаленном устройстве. т.е. он не выполняет обнаружение SDP для определения правильного номера канала. Они отказываются менять это (хотя это, конечно, неправильно)

Мой вопрос: есть ли способы заставить Android использовать фиксированный номер канала RFCOMM? Возможно, используя отражение, например трюк с прямым вызовом createRfcommSocket при подключении к клиенту.

7
задан Willi Mentzel 27 May 2016 в 18:25
поделиться