Как автоматически подключиться к устройству Bluetooth, когда оно находится рядом программно в Android?

Я пишу приложение, которое создает сокет RFCOMM с другим устройством (не обязательно Android) и отправляет через него некоторые данные. Прямо сейчас я могу подключаться и передавать данные через сокет, но я также хочу иметь возможность останавливаться, когда устройство находится далеко, и автоматически запускать передачу, когда устройство снова рядом. Как я узнаю, что устройство снова рядом? Любые указатели будут очень признательны. :)


person wildnux    schedule 05.12.2011    source источник


Ответы (1)


Я не знаю о хорошем, простом интерфейсе Java. Вы можете подключиться с помощью NDK и вызвать функцию hci_read_rssi() (для этого вам нужно написать собственный вызов java). Это требует, чтобы вы уже подключились к устройству. Это даст вам показания силы сигнала, которые зависят от вашего расстояния, вам, конечно, нужно будет настроить это.

Многие устройства Bluetooth позволяют запрограммировать их режим работы (ссылка http://www.sparkfun.com/datasheets/Wireless/Bluetooth/rn-bluetooth-um.pdf). В этом режиме вы можете настроить устройство на автоматическое подключение без необходимости сопряжения, что может вам понадобиться. Конечно, вы ограничены фактическим устройством, с которым вам нужно работать.

Удачи!

person GambitGeoff    schedule 10.02.2012
comment
любое слово о решении этого, я пытаюсь сделать что-то очень похожее - person DRing; 25.04.2013