Освой Android играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Работаем с Bluetooth

2-й курс/Закрытая зона

Общая информация
Проверяем состояние
Включаем Bluetooth
Список подключённых (спаренных устройств)
Приёмник широковещательных сообщений
Обнаружение устройств по соседству
Использование Bluetooth для связи

Общая информация

Bluetooth Cat

Кота с синим зубом я не встречал, пусть будет с золотым.

Технология Bluetooth - одна из самых старых технологий для связи между устройствами, которая использовалась ещё на КПК. Это сетевой протокол, созданный для связи в условиях низкой пропускной способности и ограниченного радиуса действия. Он пришла на смену жутко неудобному протоколу на инфракрасной связи. Сейчас и Bluetooth сдаёт свои позиции под напором различных облачных интернет-решений, но тем не менее ещё может сослужить полезную службу.

Библиотеки для работы с Bluetooth стали доступны в Android только с версии 2.0 (SDK API level 5). В Android поддерживаются исключительно зашифрованные соединения, поэтому вы можете устанавливать связь только между спаренными устройствами.

В Android 4.3 появилась поддержка Bluetooth Low Energy (Bluetooth LE), которая здесь не рассматривается.

В составе Android есть пакет android.bluetooth, имеющий необходимые классы для работы с синим зубом:

  • BluetoothAdapter - локальный Bluetooth-адаптер, то есть устройство, на котором работает ваше приложение. Предоставляет интерфейс обнаружения и установки Bluetooth-соединений
  • BluetoothClass - общие характеристики Bluetooth-устройства
  • BluetoothDevice - информация об удалённом Bluetooth-устройстве, к которому вы хотите подключиться
  • BluetoothSocket - сокет или точка соединения для данных, которыми наша система обменивается с другим устройством
  • BluetoothServerSocket - сокет для прослушивания входящих Bluetooth-соединений. Даёт возможность отслеживать входящие сетевые запросы, поступающие от удалённых устройств

Для передачи данных с использованием Bluetooth требуется сделать следующее:

  • Включить адаптер Bluetooth
  • Найти доступные устройства с включёнными Bluetooth-адаптерами
  • Подключиться к выбранному устройству
  • Обменяться данными (переслать картинку, файл, музыку)

Для работы с Bluetooth обычно требуются два разрешения:


<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

Второе разрешение BLUETOOTH_ADMIN используется в тех случаях, когда требуется изменить какие-то свойства адаптера.

Чтобы отсечь устройства без Bluetooth-модуля, можно добавить в манифест условие.


<uses-feature android:name="android.hardware.bluetooth" />

Вы вошли на сайт, как гость.
Необходимо зарегистрироваться, чтобы прочитать статью

Реклама