Android: есть ли способ автоматического сопряжения с другим устройством через Bluetooth без запроса пин-кода? - PullRequest
2 голосов
/ 25 марта 2010

Я ищу способ подключения к устройствам Android через Bluetooth без вмешательства пользователя (при условии, что хотя бы на устройстве установлено значение «Обнаруживаемый»). Начиная с 2.0, кажется, что устройства запрашивают ввод случайного пина при первом соединении друг с другом. Я пробовал некоторые проекты Bluetooth, но, похоже, ни один из них не работает, так как код основного адаптера Bluetooth всегда срабатывает.

Есть ли способ обойти это? Спасибо.

Ответы [ 2 ]

2 голосов
/ 01 ноября 2012

Как объясняет Януш, автоматическое сопряжение с другим устройством невозможно, но может быть возможно обмениваться данными с другим устройством без необходимости сопряжения. Начиная с уровня API 10 и далее метод BluetoothDevice.createInsecureRfcommSocketToServiceRecord и соответствующий BluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord метод позволяет вам создавать «небезопасный» канал RFCOMM, не соединяя их два устройства. Этот канал уязвим для атаки «человек посередине»: любое другое устройство может перехватить соединение, позволяя ему читать каждое сообщение и заменять сообщения своим собственным. Это может или не может быть проблемой для вашего приложения. Также обратите внимание, что only позволяет вам устанавливать каналы RFCOMM следующим образом: он не позволяет подключать (например) гарнитуру без сопряжения.

Если вы уже знаете адрес другого устройства, вы можете сделать это, не обнаружив ни одно устройство.

0 голосов
/ 25 марта 2010

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

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