Есть ли способ для автоматического / программного соединения двух устройств Bluetooth в Android? - PullRequest
0 голосов
/ 15 ноября 2011

Я разрабатываю приложение, которое подключает устройства через Bluetooth и обменивается сообщениями. Он отлично работает для сопряженных устройств, но я также хотел бы, чтобы он автоматически связывал устройства, которые не сопряжены. Как, например, он может хранить и использовать один и тот же PIN-код для запросов на сопряжение, я просто не знаю, как программно управлять этим запросом в моем приложении, как автоматически устанавливать и отправлять PIN-код при получении запроса на сопряжение и как инициировать такой запрос. с предопределенным PIN-кодом.

Любые фрагменты или мысли будут высоко оценены! :)

EDIT: Я знаю, что это рискованно, я разрабатываю это приложение для чрезвычайных ситуаций только там, где нет других средств, кроме Bluetooth. Также есть ли способ преждевременного сопряжения с устройствами, даже не подключаясь к ним? Например, допустим, есть список MAC-адресов этих устройств, и я могу использовать их для создания связи с этими устройствами, чтобы они выглядели сопряженными на моем устройстве?

Ответы [ 3 ]

1 голос
/ 22 ноября 2011

Отражение метода setPin позволило мне автоматически отправить пин-код на другое устройство.Мне пришлось реализовать это в приемнике вещания, который прослушивает запросы на сопряжение.Хотя я не могу избавиться от диалогового окна, оно просто застревает там на экране, и я не знаю, как закрыть его (программно) и продолжить процедуру связывания, поскольку этот диалог вызывается изнутри connect (), который является методом блокировки.Я пока не отказываюсь от этого:)

1 голос
/ 15 ноября 2011

Вы не можете сделать это. Делать то, что вы хотите, создаст огромный риск для безопасности. Подумайте об этом, мое устройство просто в любом месте в вашем диапазоне Bluetooth, и теперь я могу отправить вам все, что я хочу, без вашего ведома? Вы не можете сделать это на самом деле, и я настоятельно рекомендую не пытаться подорвать это.

0 голосов
/ 09 мая 2018

В версии Bluetooth 2.1 и выше существует метод сопряжения, называемый моделью ассоциации «просто работает».Это самый низкий метод безопасности сопряжения и он не защищен от атак «человек посередине».

Однако это обеспечит безопасную, зашифрованную ссылку без необходимости обмена номерами контактов или проверки идентификатора устройства.

API на разных платформах может отличаться, но лежащие в основе сообщения HCI требуют, чтобы вы указаличто ваше устройство (или одно из устройств) имеет следующие возможности ввода-вывода:

No Keyboard, No Display. 

Как вы уже догадались, это режим для очень простых устройств, использующих Bluetooth, таких как динамик или наушники.

Если вы можете найти API для настройки этого, тогда для соединения будет использоваться режим ассоциации «Просто работает» безопасного простого соединения.

Следующим шагом будет сохранение ключей связи, например:склеивание.Многие устройства, например мобильные телефоны, по-прежнему создают диалоговое окно для пользователя, чтобы спросить, хотят ли они «запомнить это устройство», поскольку авторизация пользователя определяется спецификациями BT ... но это еще одна проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...