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

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

Шкодим

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

Работаем с Bluetooth

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

Общая информация
Проверяем состояние
Включаем Bluetooth
Базовый пример на Kotlin
Приёмник широковещательных сообщений
Обнаружение устройств по соседству
Использование 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 используется в тех случаях, когда требуется изменить какие-то свойства адаптера.

Чтобы отсечь устройства без этой технологии.


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

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

Реклама