Как сделать приоритет блютуз

Добавил пользователь Алексей Ф.
Обновлено: 10.09.2024

В этой статье я постараюсь подробно объяснить, что делать в ситуации, когда у вас стационарный компьютер и появилась необходимость подключить к нему какое-то устройство по Bluetooth. Например: беспроводные наушники, мышку, клавиатуру, акустическую систему, джойстик, телефон, планшета и т. д. Таких устройств очень много, и без Bluetooth на компьютере сейчас ну никак. К тому же, такое подключение позволяет нам избавится от большого количества проводов.

Как вы уже наверное знаете, в обычных стационарных компьютерах (в системных блоках) встроенного Bluetooth как правило нет. За исключением двух случаев: установлен внутренний PCI приемник (внешний USB) , или у вас крутая материнская плата со встроенным беспроводным модулем. Но их очень мало, так что вряд ли. Можете посмотреть характеристики своей материнской платы. Ну и если бы в вашем ПК был Bluetooth, то вы бы об этом скорее всего уже знали. Был бы соответствующий значок в трее, или адаптер в диспетчере устройств (возможно, в виде неизвестного устройства – когда драйвер не установлен) .

Если у вас ноутбук, то эта статья не для вас. Смотрите статью как включить Bluetooth на ноутбуке. А если у вас Windows 10, то лучше эту: как включить и настроить Bluetooth на ноутбуке с Windows 10.

Чтобы подключать к компьютеру устройства по Bluetooth, нужно купить и установить в компьютер Bluetooth-адаптер. Обычно, это адаптеры которые подключаются в USB-порт. У меня такой, модель Grand-X BT40G. Выглядит вот так:

Bluetooth для стационарного компьютера

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

Если у вас уже есть адаптер – сейчас будем настраивать. Если нет – читайте статью по ссылке выше, выбирайте, покупайте и возвращайтесь на эту страницу.

Я разделю эту статью на две части: сначала покажу как подключить Bluetooth адаптер к компьютеру на Windows 10, настроить его, при необходимости найти и установить драйвер, и подключить какое-то устройство. А во второй части мы все это сделаем на ПК с установленной Windows 7.

У меня сейчас нет возможности продемонстрировать все это на Windows 8 и Windows 8.1, но от более старой и новой версии этой операционной системы (я имею введу семерку и десятку) там отличий не много.

В любом случае, сначала подключаем Bluetooth адаптер к компьютеру.

Подключение Bluetooth адаптера к компьютеру

После этого переходим к установке драйверов и настройке.

Bluetooth на ПК с Windows 10: подключение, драйвера, настройка

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

Иконка блютуз в трее Windows 10

В диспетчере устройств у меня сразу появился раздел "Bluetooth" и сам адаптер. Если адаптер не будет опознан и будет отображаться как неизвестное устройство (другое устройство) , то придется ставить драйвера вручную. Как это делать на примере Windows 7, можете посмотреть в конце этой статьи.

Bluetooth в диспетчере устройств ПК

А чтобы подключить наушники, геймпад, мышку, клавиатуру, или другое Bluetooth-устройство к компьютеру, зайдите в "Параметры" в раздел "Устройства". Или нажав на иконку в трее и выберите "Добавление устройства Bluetooth".

Добавление устройства Bluetooth на компьютере

Нажимаем на "Добавление Bluetooth или другого устройства".

Подключение разных устройств по Bluetooth к стационарному компьютеру

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

Bluetooth на стационарном компьютере с Windows 10

А если вы хотите подключить к компьютеру смартфон, или планшет, то на самом мобильном устройстве нужно будет подтвердить подключение (создание пары) .

О подключении беспроводных наушников я более подробно писал в статье как подключить Bluetooth наушники к компьютеру или ноутбуку на Windows 10.

Таким образом можно подключить абсолютно любое Блютуз-устройство.

Настройка Bluetooth адаптера в Windows 7 и подключение устройств к компьютеру

В Windows XP, Windows 7 и Windows 8 после подключения адаптера драйвер скорее всего придется устанавливать автоматически. Но не всегда. В моем случае Windows 7 сама поставила драйвер на мой USB Bluetooth адаптер Grand-X BT40G. Сразу появился значок Блютуз.

Установка USB Блютуз адаптера в Windows 7

Вот скриншот с диспетчера устройств.

Радиомодули Bluetooth в диспетчере устройств Windows 7

Если система не смогла опознать устройство и установить его, значок не появился, то нужно устанавливать драйвер. Как это сделать, я покажу ниже. А сейчас давайте подключим какое-то устройство по Bluetooth к компьютеру с установленной Windows 7.

Нажмите на иконку и выберите "Добавить устройство".

Windows 7: подключение Bluetooth устройства к ПК

Откроется окно, котором будут отображаться все найденные компьютером устройства. Которые на данный момент находятся недалеко от компьютера и доступны для подключения. Выбираем наше устройство и начнется процесс подключения. Я снова подключал Bluetooth гарнитуру (наушники с микрофоном) . По которым можно и в Скайпе поговорить.

Подключение Bluetooth к стационарному компьютеру

В случае с наушниками, возможно еще понадобится установить их как устройство воспроизведения по умолчанию. Это можно сделать в настройках устройств воспроизведения (нажав правой кнопкой мыши на иконку звука в трее) .

Драйвер для Bluetooth адаптера: поиск и установка

Даже не важно, какая система установлена на вашем компьютере, это может быть как Windows XP, так и Windows 10. Но если она не смогла автоматически настроить подключенный Bluetooth адаптер, то придется нам вручную искать и устанавливать нужный драйвер. Есть как минимум три способа:

  1. Установить драйвер с диска, который скорее всего был в комплекте.
    Там может быть как драйвер, так и утилита (программа) для управления некоторыми функциями самого адаптера. В моем случае, это CSR Harmony. Мой адаптер Grand-X BT40G построен на CSR чипе.
  2. Если у вас Bluetooth адаптер какого-то популярного производителя, то можно зайти на официальный сайт это производителя, найти страничку с этим устройством и там уже скачать драйвер. Он должен там быть. Но не всегда. Я вот проверил, на сайте Grand-X в разделе "Файлы" ничего нет. А вот для адаптера ASUS USB-BT400 на официальном сайте есть драйвера и утилита.
    Это для примера.
  3. Поиск драйвера по ИД оборудования неопознанного устройства. Не самый простой вариант, поэтому покажу все максимально подробно.

Когда система не может установить драйвер на какое-то устройство, то оно находится в диспетчере устройств в разделе "Другие устройства" с желтым значком. Как там будет отображаться (называться) именно ваш Блютуз адаптер – сложно сказать. Если у вас там раньше не было неизвестных устройств, то определить его будет не сложно (он будет один) .

У меня это что-то типа CSR 8510 A10 (похоже это чип, на котором построен адаптер) . Нажимаем на это устройство правой кнопкой мыши и выбираем "Свойства". Дальше переходим на вкладку "Сведения", в выпадающем меню ставим "ИД Оборудования" и копируем первую строчку.

Неизвестное Bluetooth устройство в диспетчере устройств

Открываем сайт DevID.info, вставляем скопированную строчку в строку поиска и удаляем все лишнее, чтоб осталось только значение VID и PID. Можете посмотреть какое у меня было значение изначально (скриншот выше) , и по какому я выполнил поиск (скриншот ниже) .

Для начала приобуем загрузить первый драйвер, который появился в результатах поиска. Нужно нажать на иконку дискеты. Обратите внимание на операционную систему, для которой подходит этот драйвер.

Загрузка Bluetooth драйвера

Нажимаем на ссылку "Оригинальный файл".

Поиск драйвера на Блютуз по ИД оборудования

Проходим проверку "Я не робот", нажимаем на ссылку и сохраняем архив с драйвером.

Программа на Bluetooth для компьютера

Дальше желательно извлечь все файлы и папки из загруженного архива, найти там файл Setup.exe, запустить его и установить драйвер.

Если там нет установочного файла, а просто набор папок и каких-то файлов, то нажмите на неизвестное устройство в диспетчере устройств правой кнопкой мыши, выберите "Обновить драйвер" – "Выполнить поиск драйверов на компьютере" и укажите путь к папке с драйверами. Если драйвер не будет найден и установлен, то попробуйте скачать другой.

Очень надеюсь, что статья вам пригодилась, и вы все таки добавили Bluetooth на свой компьютер и смогли подключить необходимые устройства. А я не зря потратил пол дня ?

Наверное, не стоит объяснять, что такое Bluetooth и как им пользоваться. Все мы его используем в тех или иных целях – Bluetooth гарнитура, передача файлов, раздача интернета и т. д. Но многие задают вопрос, можно ли настроить автоматическое подключение Bluetooth на Android-устройствах. Ответ прост – можно. Хотите знать, как? Читайте статью дальше.

Настройка автоматического подключения

Сразу же стоит отметить, что изначально подобные функции просто не предусмотрены. То есть ни в смартфонах, ни в планшетах, ни в ноутбуках нет встроенных средств, которые позволяют автоматически подключаться к устройствам Bluetooth. Поэтому вам придется искать нужную программу, устанавливать ее на смартфон (или планшет), настраивать и только после этого подключение будет происходить автоматически.

Кроме того, прежде чем программа сможет выполнять свои прямые функции, вам придется выполнить сопряжение с нужными устройствами вручную. Далее в этой статье мы рассмотрим, как выполнить сопряжение, какое приложение лучше установить, где его найти и как настроить. Итак, давайте по порядку.

Сопряжение между Bluetooth-устройствами

Нужно знать несколько правил и выполнять четкую последовательность действий. Чтобы выполнить сопряжение между устройствами, необходимо включить Bluetooth на обоих девайсах, а также активировать функцию обнаружения.

Активация обнаружения

Активация обнаружения на Андроиде

Настойка на Андроиде

Тайм-аут соединения на Андроиде

Добавить устройство

Добавить устройство

Проверка пин кода

Доступные устройства

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

Запрос на соединение

Настройка автоматического подключения

Bluetooth Auto Connect

Работать в нем достаточно просто. Единственное неудобство заключается в том, что приложение полностью на английском языке. Но разобраться несложно.

После запуска программы вы сразу попадаете в настройки. Здесь будет несколько пунктов, которые нужно настроить:

  • Set Last Device – набор последнего устройства. Если поставить здесь галочку, то вам смартфон при включении Bluetooth будет автоматически подключаться к последнему гаджету (если тот будет в зоне досягаемости).

Set Last Device

Типы подключений

Поддерживаемые технологии

  • Devices – если перейти в этот раздел, то вы можете выбрать оборудование для быстрого подключения.

Сопряжение устройства

Сопряжение девайсы

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

Как подключить Bluetooth гарнитуру к Android: Видео

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

1. Введение

Введение Bluetooth не требует от меня ознакомления с людьми, читающими эту статью. Для использования Bluetooth в Android предоставляется набор API, и могут быть выполнены следующие операции:

  • Поиск других устройств Bluetooth
  • Оборудование для запроса адаптеров
  • Установить канал RFCOMM
  • Подключайтесь к другим устройствам Bluetooth через службу обнаружения
  • Обмен данными
  • Управление несколькими подключениями

Среди них, эта статья только представляет простую технологию обмена данными между устройствами Bluetooth, обратитесь к соответствующим документам для остального. Кроме того, эта статья касается только разработки классического Bluetooth, а не разработки Bluetooth Low Energy (BLE).

2. Основные

API, используемый для разработки классического Bluetooth (в дальнейшем называемого Bluetooth), взят из пакета android.bluetooth, в этом разделе в основном представлено краткое описание связанных классов.

2.1BluetoothAdapter

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

  • Откройте для себя другие устройства Bluetooth
  • Запрос сопряженных устройств
  • Создание удаленного устройства Bluetooth с известным MAC-адресом
  • Создайте объект класса BluetoothServerSocket (2.4 ниже) для мониторинга связи с другими устройствами Bluetooth.

2.2BluetoothDevice

Обозначает удаленное устройство Bluetooth. Используйте этот тип объекта для отправки запросов на подключение к удаленному устройству Bluetooth и для запроса информации об устройстве Bluetooth, например, имени и адреса.

2.3BluetoothSocket

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

2.4BluetoothServerSocket

Представляет сокет сервера, используемый для мониторинга будущих запросов (аналогично TCP ServerSocket). Чтобы разрешить подключение двух устройств Bluetooth, одно устройство должно использовать этот класс для открытия сокета сервера.Когда удаленное устройство Bluetooth запрашивает устройство сервера, если соединение принято, BluetoothServerSocket вернет подключенный объект класса BluetoothSocket.

2.5BluetoothClass

Опишите основные функции устройств Bluetooth. Объект класса BluetoothClass - это доступный только для чтения набор свойств устройств Bluetooth. Хотя этот тип объекта не может надежно описать все содержимое BluetoothProfile и всю служебную информацию, поддерживаемую устройством, этот тип объекта по-прежнему помогает определить тип устройства.

2.6BluetoothProfile

Указывает спецификацию Bluetooth. Спецификация Bluetooth является стандартом для связи между двумя устройствами Bluetooth.

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

3. Разрешение

3.1android.permission.BLUETOOTH

3.2android.permission.BLUETOOTH_ADMIN

Если ваше приложение должно инициировать поиск устройств Bluetooth или управлять настройками Bluetooth, вы должны объявить разрешение BLUETOOTH_ADMIN. Большинству приложений требуется это разрешение для поиска локальных устройств Bluetooth. Другие возможности этого разрешения не должны использоваться, если ваше приложение не является приложением для управления питанием, которому необходимо изменить настройки Bluetooth. [2] ?

4. Включите Bluetooth (настройка Bluetooth)

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

4.1 Получить BluetoothAdapter

BluetoothAdapter необходим для любого поведения Bluetooth. Чтобы получить BluetoothAdapter, вы можете вызвать статический метод getDefaultAdater (). Этот метод возвращает объект BluetoothAdapter, используемый для представления адаптера Bluetooth его собственного устройства. Если getDefaultAdapter () возвращает значение NULL, устройство не поддерживает Bluetooth, и чтение этой статьи закончено, нажмите кнопку закрытия ? (?_?) upper в верхнем правом углу окна. Пример кода выглядит следующим образом:

4.2 Включите Bluetooth

Далее необходимо убедиться, что Bluetooth включен. Вызовите метод isEnabled (), чтобы проверить, доступен ли в настоящее время Bluetooth. Если метод возвращает значение false, Bluetooth находится в недоступном состоянии. Чтобы запросить открытие устройства Bluetooth, используйте Intent of ACTION_REQUEST_ENABLE и вызовите метод startActivityForResult (). Это включит ваш Bluetooth через системные настройки, например:

Включение функции сканирования автоматически включит устройство Bluetooth. Если вы всегда хотите сканировать, вы можете пропустить 4.2. Подробнее о том, как включить функцию сканирования, см. В следующем тексте.

5. Найдите устройство

Используя BluetoothAdapter, можно найти удаленные устройства Bluetooth, выполнив поиск устройств или запросив список сопряженных устройств.

Обнаружение устройства (Device Discovery) представляет собой процесс сканирования, используемый для поиска локально включенных устройств Bluetooth, а затем запрашивает информацию о каждом сканируемом устройстве. Однако устройство Bluetooth возвращает информацию об устройстве только тогда, когда она видна, например, имя устройства, MAC-адрес и т. Д. Используя эту информацию, устройство может создать Bluetooth-соединение с устройством.

При первом подключении к удаленному устройству Bluetooth перед пользователем автоматически отобразится запрос на сопряжение. Когда устройство сопряжено, основная информация об устройстве будет сохранена и может быть прочитана с помощью Bluetooth API. Используя MAC-адрес удаленного устройства Bluetooth, соединение между устройствами Bluetooth может быть установлено в любое время без необходимости выполнять операцию поиска (при условии, что устройство находится в пределах диапазона связи Bluetooth) [4] ?

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

Далее будет описано, как найти сопряженные устройства и как обнаружить новые устройства.

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

5.1 Запрос сопряженных устройств

Перед поиском устройств необходимо запросить набор сопряженных устройств, чтобы узнать, является ли устройство, к которому вы хотите подключиться, уже сопряженным. Для выполнения вышеуказанных операций вы можете вызвать метод getBondedDevices (). Этот метод возвращает коллекцию BluetoothDevice для представления сопряженного устройства. Например, вы можете запросить все сопряженные устройства и отобразить их с помощью ArrarAdapter:

Единственное значение, которое необходимо создать с помощью BluetoothDevice для создания экземпляра соединения, - это MAC-адрес. В приведенном выше примере эта часть представляется пользователю как часть ArrayAdapter. Чтобы узнать, как использовать MAC-адрес для создания экземпляра соединения, обратитесь к следующему.

5.2 Откройте устройство

Для выполнения операции обнаружения устройства необходимо выполнить только метод startDiscovery (). Процесс асинхронный, и метод немедленно возвращает логическое значение, указывающее, начался ли поиск. Обычно процесс поиска вызывает 12-секундный запрос, а затем возвращается к найденному устройству.

Ваше приложение должно использовать намерение ACTION_FOUNDd для регистрации BroadastReceiver. Намерение используется для получения информации о каждом найденном устройстве. Для каждого устройства система будет транслировать ACTION_FOUND. Намерение содержит два дополнительных домена, EXTRA_DEVICE и EXTRA_CLASS. Каждый содержит объект класса BluetoothDevice и объект класса BluetoothClass. Например:

Примечание:Не забудьте отменить регистрацию в методе onDestroy ()

Выполнение поиска устройства - очень сложная задача и требует много ресурсов. Как только вы найдете устройство и захотите подключиться, обязательно прекратите поиск устройства. Если вы уже подключились, операция поиска значительно снизит скорость соединения, поэтому вам следует прекратить поиск при подключении. Поиск можно остановить с помощью метода cancelDiscovery ().

5.2.1 Начать поиск

Если вы хотите, чтобы ваше Bluetooth-устройство было видимым, используйте ACTION_REQUEST_DISCOVERABLE Intent и вызовите метод startActivityForResult (Intent, int). Это включит режим поиска через запрос настройки системы. По умолчанию устройство будет видно в течение 120 секунд. Вы можете определить различные отрезки времени, добавив дополнительные для Intent: EXTRA_DISCOVERABLE_DURATION. Максимальная продолжительность составляет 3600 секунд, а минимальная - 0. Значения за пределами этого диапазона будут установлены на 120 секунд. Среди них 0 означает, что устройство всегда видно. Например:

Если устройство Bluetooth не включено, устройство Bluetooth будет автоматически включено при выполнении операции поиска.

Устройство будет оставаться видимым в течение указанного времени. Если вы хотите проверить изменение статуса, вы можете прослушать, зарегистрировав трансляцию с помощью ACTION_SCAN_MODE_CHANGED Intent. Цель трансляции onReceive () содержит два дополнительных поля: EXTRA_SCAN_MODE и EXTRA_PREVIOUS_SCAN_MODE, которые представляют старое и новое состояния, соответственно. Возможные значения: SCAN_MODE_CONNECTABLE_DISCOVERABLE (подключаемый и видимый), SCAN_MODE_CONNECTABLE (подключаемый, но невидимый) или SCAN_MODE_NONE (не подключаемый и невидимый).

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

6. Подключите устройство

Для того чтобы два ваших устройства установили соединение в вашем приложении, вы должны реализовать механизмы сервера и клиента. Потому что одно из устройств должно открыть сокет сервера, а другое подключается (используйте MAC-адрес в качестве сервера для подключения). Когда клиент и сервер имеют BluetoothSocket, подключенный к одному каналу RFCOMM, они могут обмениваться данными. На каждом конце доступны входные и выходные потоки, так что передача данных может начаться. Эта часть будет описана позже, эта часть только описывает, как инициализировать соединение между устройствами.

Сервер и клиент получают BluetoothSocket по-разному. Когда соединение принято, сервер получает BluetoothSocket. Клиент получает BluetoothSocket, открыв канал RFCOMM на сервере.

Один из способов реализации заключается в том, что прикладная программа реализует как клиента, так и сервер. Поэтому каждая серверная программа имеет сокет сервера и прослушивает соединения. Конечно, функции на стороне сервера также могут быть реализованы в одном приложении, в то время как часть на стороне клиента реализована в другом приложении.

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

6.1 Серверная сторона

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

Действуйте следующим образом:

  1. Получите BluetoothServerSocket, вызвав listenUsingRfcommWithServiceRecord (String, UUID).

Строка UUID может быть получена через множество генераторов UUID в сети, а затем получена методом fromString (String).

  1. Вызвав accept (), начните прослушивать запросы на соединение.
  1. Если вы не хотите принимать несколько соединений, вызовите close (), чтобы закрыть.

Это освободит сокет сервера и связанные ресурсы, но не закроет подключенный BluetoothSocket, возвращенный из accept (). В отличие от TCP / IP, RFCOMM позволяет одному клиенту одновременно существовать в канале. Поэтому в большинстве случаев необходимо вызывать close () сразу после получения BluetoothSocket.

Метод accept () не должен выполняться в главном потоке (потоке пользовательского интерфейса), потому что это блокирующий вызов, который может арендовать любое взаимодействие с программой. Обычно любые операции, связанные с BluetoothServerSocket и BluetoothSocket, должны выполняться в новом потоке. Вызов метода close () в другом потоке отменяет вызов метода блокировки и немедленно возвращается. Обратите внимание, что любой метод в BluetoothServerSocket и BluetoothSokcet является поточно-ориентированным.

В этом примере, как только соединение принято и получен сокет Bluetooth, приложение немедленно отправляет сокет Bluetooth в отдельный поток и закрывает сокет Bluetooth, выбирая цикл.

Обратите внимание, что когда accept () возвращает BluetoothSocket, сокет уже подключен, поэтому не следует вызывать метод connect.

manageConnectedSocket () - это вымышленный метод, используемый для инициализации потока передачи данных. Часть передачи данных будет представлена позже.

Как только соединение контролируется и BluetoothSocket получен, close () должен быть вызван немедленно, чтобы закрыть BluetoothServerSocket. cancel () предоставляет публичный метод для этого.

6.2 Клиент

Чтобы подключиться к серверу, сначала необходимо иметь объект BluetoothDevice, представляющий удаленный сервер. После этого вы должны использовать BluetoothDevice, чтобы получить BluetoothSocket и инициализировать соединение.

Основные шаги заключаются в следующем.

  1. Используя BluetoothDevice, получите BluetoothSocket, вызвав createRfcommSocketToServiceRecord (UUID).
  2. Инициализируйте соединение, вызвав метод connect ().

Система запросит SDP, соответствующий UUID на удаленном сервере. Если запрос выполнен успешно, канал RFCOMM будет доступен для соединения, и метод connect () вернется. Этот метод является блокирующим вызовом. Если соединение не будет установлено в течение 12 секунд, метод завершится с исключением.

Поскольку connect () является блокирующим вызовом, процесс подключения всегда должен выполняться в отдельном потоке.

Вы должны убедиться, что устройство не выполняет поиск устройства при вызове connect (). Если одновременно с этим будет работать и поисковое устройство, это значительно снизит скорость соединения и в значительной степени приведет к сбою соединения.

cancelDiscovery () вызывается до установления соединения. Вы должны всегда делать это перед подключением. Это безопасно, хотя не проверяется, выполняется ли поиск устройства. (Если вы хотите проверить, вы можете вызвать isDiscovering ()).

manageConnectedSocket () - это вымышленный метод, используемый для инициализации потока передачи данных. Часть передачи данных будет представлена позже.

После завершения обработки BluetoothSocket всегда не забывайте вызывать метод close () для очистки.

7. Управление соединениями

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

Действуйте следующим образом:

  1. Получите входные и выходные потоки через getInputStream () и getOutputStream () соответственно.
  2. Чтение и запись данных через read (byte []) и write (byte []).

Конечно, есть некоторые детали для рассмотрения. Во-первых, для чтения и записи требуется специальная тема. Это важный момент, поскольку методы read (byte []) и write (byte []) блокируют вызовы. read (byte []) будет блокироваться, пока данные не будут прочитаны из потока. write (byte []) не блокирует часто, но если удаленное устройство недостаточно быстро вызывает операцию чтения и буфер заполнен, он блокируется. Вы должны прочитать данные в главном цикле независимого потока и записать независимый открытый метод в потоке.

Конструктор получает необходимый поток, и после его выполнения поток будет ожидать поступления данных из входного потока. Когда read (byte []) возвращает байт, данные будут отправлены в Activity через родительский обработчик. Затем вернитесь и дождитесь дополнительных потоков байтов.

Метод cancel () в потоке важен, потому что соединение может быть разорвано через BluetoothSocket в любое время в любое время. Этот метод всегда следует вызывать после использования соединения Bluetooth.

8. Резюме

Выше приведено основное содержание классического Bluetooth в официальном документе. Если есть какие-либо недостатки, пожалуйста, укажите.

Наконец, прикрепите карту ума для разработки Bluetooth, спасибо за чтение :)

1226129-9371a7656e3bd853.jpg

Это разрешение используется для разрешения приложениям подключаться к сопряженным устройствам Bluetooth и не включает запросы на подключение к непарным устройствам.?

Это разрешение используется для обнаружения и сопряжения устройств Bluetooth.
Примечание. Если вы используете полномочия BLUETOOTH_ADMIN, вы также должны объявить полномочия BLUETOOTH.?

Настройка блютуз на Андроид

Привет. Используя настройки блютуз на Андроид, вы можете синхронизировать со своим смартфоном многие гаджеты: беспроводную гарнитуру (наушники), компьютер, мышь, клавиатуру, принтер, фотоаппарат, джойстик, автосканер, другой смартфон или планшет, все, что имеет поддержку связи по Bluetooth.

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

Информация по настройкам собрана по ОС Андроид 9. Они незначительно отличаются от старых версий

Общие настройки Bluetooth

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

включение блютуз

Запускайте обнаружение доступных устройств.

поиск устройств по блютуз

После поиска вам будет предложено выбрать и добавить его.

добавить устройство

В разделе “Доступные устройства” появиться активное соединение.

активное устройство

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

отключение устройства

В разделе “Ранее подключенные устройства” будут сохраняться все, которые ранее синхронизировались со смартфоном.

все устройства

Последний раздел “Настройки подключения” поможет подключить различное оборудование.

настройки подключения

Bluetooth

Этот пункт ведет к обычной синхронизации двух и более устройств. Его рассмотрели выше.

стандартное подключение

Трансляция

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

активные источники трансляций
Печать

Используя этот раздел есть возможность настроить печать данных со смартфона на вашем принтере.

печать

Через Службу печати добавляете найденный принтер с поддержкой беспроводной связи или выбираете службу самостоятельно, которая поможет синхронизировать два устройства.

приложения

Полученные файлы

Здесь вы увидите все скачанные файлы посредством Bluetooth связи

Chromebook

Эта последняя функция для связи смартфона с устройством Chromebook. На мой взгляд, эта функция не популярна и не будем останавливаться на ней.

Настройки Bluetooth в режиме разработчика

В этом режиме находится несколько функций, которые могут быть полезны.

1. Показывать блютуз-устройства без названий. Эта функция говорит сама за себя. Если отключим названия устройств, то будем видеть только их MAC адреса.

включить названия устройств


2. Версия блютуз AVRCP – управление различными устройствами (телевизор дом.кинотеатр и другие). Эта функция позволяет выбрать версию от 1.3 до 1.6.

версия управления

3. Запуск аудиокодека через блютуз. Позволяет выбрать определенный аудиокодек из списка.

аудиокодек для предачи

4. Выбор частоты дискретизации для передачи по блютуз.

частота выбрать

5. Выбрать глубину кодирования звука.

включить аудиокодек

6. Режим аудиоканала (моно или стерео)

качество звука

7. Выбор качества воспроизведения

кодек битрейта

8. Максимально количество подключенных устройств.

количество устройств

Вот столько смартфон имеет настроек блютуз на Андроиде. Возможно, они будут дополняться и меняться с дальнейшими версиями ОС.

Читайте также: