У меня есть приложение для Android, которое я хочу использовать для связи с сервером Python на Linux через Bluetooth, и у меня возникла проблема с сопряжением. Я хочу использовать метод Secure Simple Pairing для ввода пароля, при этом ключ отображается на аппаратном дисплее сервера, а ввод осуществляется на телефоне Android.
На основании ответа, который я получил от связанного вопроса здесь:
Соединение Bluetooth с дисплеем. Только поле пароля не отображается
Я бы хотел изменить функцию ввода-вывода Bluetooth для Android на «KeyboardOnly»
В соответствии с приведенной выше ссылкой, когда ответчиком является DisplayOnly, а инициатор имеет клавиатуру, используется связывание ввода пароля. Это то, что я хочу. Однако Bluez автоматически преобразует «KeyboardDisplay» в «DisplayYesNo», как показано здесь: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/mgmt-api.txt#n1016
Это вызывает проблемы, так как сервер пытается выполнить числовое сравнение, хотя я понятия не имею, что пытается сделать Android, так как вообще не появляется диалоговое окно, нет ввода пароля или подтверждения пароля.
Мой вопрос прост: как заставить настройки bluetooth на моем андроиде думать, что устройство «KeyboardOnly», или альтернативой является то, как настроить Bluez, чтобы не изменять «KeyboardDisplay» на «DisplayYesNo»