Блютуз андроида передать информацию

Как передать файлы по Bluetooth с телефона на компьютер

Если вы захотели отправить файлы (фото, видео и другие) по Bluetooth со своего Android телефона на ноутбук или компьютер, сделать это очень просто, при условии, что Bluetooth адаптер на компьютере правильно установлен и включен.

В этой инструкции пошагово описан процесс отправки файлов по Bluetooth на компьютер с Windows 10, но и для Windows 7 и 8.1 процедура будет примерно та же самая. См. также: Как скинуть фото с iPhone на компьютер.

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

Шаги для отправки файлов по Bluetooth очень просты: для этого даже не требуется сопряжение устройств, обычно всё работает и без этого:

  1. Убедитесь, что Bluetooth адаптер включен: в Windows 10 для этого можно нажать по значку центра уведомлений справа внизу и убедиться, что кнопка с символом Bluetooth синего цвета (может потребоваться нажать «развернуть», чтобы увидеть эту кнопку). Если нет — просто нажмите по ней.
  2. Если не включилось и после этого действия, посмотрите, нет ли на вашем ноутбуке клавиши в верхнем ряду со значком Bluetooth или Wi-Fi, если есть, попробуйте нажать эту клавишу или её в сочетании с Fn для включения Bluetooth адаптера. Если это не помогло, могут помочь инструкции: Не работает Bluetooth на ноутбуке, Не работает клавиша Fn на ноутбуке.
  3. Следующий шаг — включить ожидание передачи файлов. Это можно сделать, нажав по значку Bluetooth в области уведомлений и выбрав пункт «Принять файл», либо (например, если значок не отображается), нажать клавиши Win+R, ввести fsquirt в окно выполнить, нажать Enter, а затем выбрать пункт «Принимать файлы».
  4. Теперь возьмите свой Android телефон, откройте любой файловый менеджер (см. Лучшие файловые менеджеры для Android), в моем примере я использую стандартный файловый менеджер «Файлы» на Samsung Galaxy. Выберите нужные файлы (обычно это можно сделать долгим удержанием файла) и нажмите кнопку «Поделиться».
  5. Выберите пункт «Bluetooth».
  6. Подождите некоторое время, пока будут найдены доступные Bluetooth устройства. Выберите среди них устройство с именем вашего компьютера.
  7. Начнется передача файла, процесс обычно отображается и на телефоне, и на компьютере.
  8. Укажите место сохранения файла на компьютере.

Готово, передача файла по Bluetooth завершена и, как упоминалось выше, обычно всё работает по умолчанию, при условии, что у вас установлены оригинальные драйверы и есть возможность включить BT адаптер.

Некоторая дополнительная информация, которая может оказаться полезной:

Источник

Как передать файл по Bluetooth на Android

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

Как передавать файлы по Bluetooth

Перед обменом документами между устройствами :

  1. Откройте «Настройки» и зайдите в «Bluetooth».
  2. Включите тумблер напротив названия интерфейса, следом активируйте «Видимость».

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

По желанию, можете изменить имя гаджета — по умолчанию используется модель или бренд смартфона/планшета.

Используем проводник

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

  1. Запустите приложение и откройте папку с документом для отправки.
  2. Выделите файл, удерживая на нем палец. В дополнительном меню тапните по «Передать».
  3. Среди предложенных вариантов выберите «Bluetooth».
  4. Выберите необходимый девайс в списке ранее «Подключенных» или «Доступных». Если нужный гаджет не появится, щелкните по кнопке «Обновить».
  5. На втором устройстве появится запрос на получение файла, жмите по «Принять».
  6. Об успешном завершении операции оповестит уведомление в шторке.

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

Передача с приложений

Проводник используют для пересылки документов с особым расширением, архивов и подобного. Передавать фото или видео удобнее с «Галереи» :

  1. Запустите одноименное приложение.
  2. Удерживайте палец на файле для передаче или выделите сразу несколько снимков/скринов. В подменю щелкните по «Передать».
  3. Просмотрите выделенные кадры/ролики, уберите или добавьте контент. Теперь жмите по «Bluetooth».
  4. Выберите аппарат для передачи и примите файлы на другом устройстве.

Как передать приложение

Существует 2 способа передачи приложения с Андроида на другой Android. В первом варианте необходимо отправить APK-файл воспользовавшись проводником, как описано чуть выше. Второй метод предусматривает установку дополнительного софта, например «Bluetooth Transfert, Apk Share» от разработчиков Trusted Tools :

  1. После запуска ПО, отметьте программу или игру и щелкните по «Отправить» в виде бумажного самолетика.
  2. Среди способов отправки выберите «Блютус».
  3. Найдите в списке устройство и отправьте программу.

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

  • купленные приложения — это нарушает политику Google;
  • кэш игр — его придется передавать отдельно, предварительно архивировав нужную папку.

Возможные проблемы

Если при отправке возникают проблемы, то попробуйте :

  • перезагрузить оба устройства;
  • приблизить оба смартфона/планшет вплотную друг к другу;
  • предварительно синхронизировать гаджеты в меню параметров BT;
  • отключить беспроводные наушники и другие аксессуары, подключенные к аппарату;
  • включить обнаружение по Bluetooth — некоторые девайсы будут видны только в том случае, если юзер зайдет в настройки интерфейса.

Bluetooth работает на частоте 2.4 ГГц, которую также используют Wi-Fi-роутеры и микроволновая печь. Если находиться рядом с этими приборами, то могут возникать сбои при передаче документов.

С помощью BT, пользователи Андроид могут обмениваться документами, мультимедийными файлами и приложениями. Единственное, что необходимо сделать — предварительно настроить работу блютуз.

Читайте также:  Форк плеер для андроид приставки xiaomi mi box

Источник

Как передать файлы через Bluetooth с телефона на телефон

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

Включите модуль Bluetooth на обоих телефонах

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

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

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

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

Отправьте файл по Bluetooth с помощью кнопки «Поделиться»

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

Запустите ваше приложение на телефоне, с которого вы хотите передать файлы, найдите в нем нужные файлы, выделите нужные файлы (установите отметки) и нажмите на кнопку «Поделиться».

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

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

Если вы передаете файлы по Bluetooth впервые, то на экранах обоих телефонов появится предложение выполнить сопряжение устройств. Инструкции о том, что нужно делать появятся на экране. Но, обычно для сопряжения устройств достаточно нажать на кнопку «Подтвердить» на обоих устройствах. После всех подтверждений начнется передача файлов с одного телефона на другой.

Возможные проблемы при передаче файлов по Bluetooth

При передаче файлов по Bluetooth с телефона на телефон могут возникнуть сложности. В этом случае рекомендуем выполнить следующие действия:

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

Источник

Использование Bluetooth в Android

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

Работа с Bluetooth состоит из четырех этапов: установка настроек bluetooth адаптера, поиск доступных для соединения устройств, установка соединения, передача данных.

Обзор Android Bluetooth API

Bluetooth API располагается в пакетеandroid.bluetooth. В его состав входит несколько классов:

  • BluetoothAdapter— отвечает за работу с установленным в телефоне Bluetooth модулем. Экземпляр этого класса есть в любой программе, использующей bluetooth. В состав этого класса входят методы, позволяющие производить поиск доступных устройств, запрашивать список подключенных устройств, создавать экземпляр класса BluetoothDevice на основании известного MAC адреса и создавать BluetoothServerSocket для ожидания запроса на соединение от других устройств.
  • BluetoothDevice— класс, ассоциирующийся с удаленным Bluetooth устройством. Экземпляр этого класса используется для соединения через BluetoothSocket или для запроса информации об удаленном устройстве (имя, адресс, класс, состояние).
  • BluetoothSocket— интерфейс для Bluetooth socket, аналогичный TCP сокетам. Это точка соединения, позволяющая обмениваться данными с удаленным устройством через InputStream и OutputStream.
  • BluetoothServerSocket— представляет открытый сокет сервера, готовый к обработке входящего запроса. Для того чтобы соединить два Android устройства, одно из них должно открыть сокет с помощью этого класса. Когда удаленное устройство пошлет запрос на соединение, BluetoothServerSocket вернет объект BluetoothSocket.
  • BluetoothClass— описывает основные параметры Bluetooth модуля. Объект этого класса доступен только в режиме чтения и может быть полезен при определении типа устройства.
  • BluetoothProfile— интерфейс, представляющий Bluetooth профиль (спецификацию беспроводного интерфейса для соединения устройств через Bluetooth). Примером профиля может служить Hands-Free profile, определяющий порядок работы с беспроводной гарнитурой.
  • BluetoothHeadset— обеспечивает поддержку bluetooth гарнитур. Включает в себя профили Bluetooth Headset и Hands-Free (v1.5).
  • BluetoothA2dp— Описывает Advanced Audio Distribution Profile, определяющий передачу потока высококачественных аудиоданных через bluetooth.
  • BluetoothHealth— определяет proxy для Health Device Profile.
  • BluetoothHealthCallback— абстрактный класс, который можно использовать для реализации обратных вызовов от BluetoothHealth. Для того чтобы регистрировать изменение состояния Bluetooth устройства нужно на основе этого класса создать собственный и переопределить в нем callback методы.
  • BluetoothHealthAppConfiguration— конфигурация, которая используется для соединения с различными медицинскими bluetooth устройствами.
  • BluetoothProfile.ServiceListener— интерфейс, который посылает уведомление BluetoothProfile IPC клиентам при их подключении и отключении от сервиса.
Читайте также:  Клавиатура для слепых для андроид

В рамках этой статьи мы не будем углубляться в суть работы с медицинскими bluetooth устройствами и сосредоточимся на первых четырех классах.

Установка настроек Bluetooth адаптера из Android

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

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

Если Вы собираетесь использовать критические с точки зрения безопасности возможности, например, изменить имя устройства, то нужно дать более мощные разрешения BLUETOOTH_ADMIN:

При использовании разрешения BLUETOOTH_ADMIN, необходимо также указывать и BLUETOOTH.

Прежде чем соединяться с кем-нибудь и передавать данные нужно убедиться, что ваш телефон имеет bluetooth модуль. Первым делом при работе с bluetooth API нужно создать экземпляр класса BluetoothAdapter

Если ваш телефон не поддерживает bluetooth, будет возвращено значение «null». На практике нужно всегда проверять это условие, чтобы избежать ошибок.

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

Если пользователь согласился на включение адаптера, в переменную enableBtIntent будет записано значение RESULT_OK. В противном случае — RESULT_CANCELED.

После того, как все проверки выполнены, можно приступать к работе. Давайте, например, отобразим имя и адрес нашего адаптера, вызвав методы getName() и getAddress().

Если приложение имеет разрешение BLUETOOTH_ADMIN, вы можете изменить имя Bluetooth устройства с помощью метода

для отображения состояния адаптера служит метод BluetoothAdapter.getState(). Этот метод может возвращать одно из следующих значений:

STATE_TURNING_ON
STATE_ON
STATE_TURNING_OFF
STATE_OFF

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

Организация поиска доступных bluetooth устройств

С помощью класса BluetoothAdapter, Вы можете найти удаленное bluetooth устройство, запустив сканирование или запросив список спаренных устройств.

При сканировании осуществляется поиск доступных bluetooth модулей вокруг вас. Если в поле досягаемости окажется устройство с разрешенным bluetooth, оно отправит в ответ на запрос некоторую информацию о себе: имя, класс, свой уникальный MAC адрес. На основе этой информации можно организовать соединение и передачу данных.

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

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

Запрос на соединение со спаренным устройством

Прежде чем приступать к поиску устройств вокруг имеет смысл показать пользователю список уже известных системе устройств. Вполне возможно, что требуемый телефон окажется в этом списке. Метод getBondedDevices() возвращает множество (Set) устройств BluetoothDevice, с которыми уже происходило соединение. Вы можете показать пользователю этот список, например с помощью ArrayAdapter:

Для того чтобы инициализировать соединение нужно знать MAC адрес устройства. В приведенном выше примере эти адреса заносятся в Arrayadapter и показываются пользователю. При желании, Вы можете легко достать любой адрес из этого списка.

Поиск устройств

Для того, чтобы начать сканирование радиодиапазона на предмет наличия доступных устройств просто вызовите метод startDiscovery(). Сканирование происходит в отдельном асинхронном потоке. Метод возвращает true, если запуск сканирования прошел успешно. Обычно процесс сканирования занимает порядка 10-15 секунд. Чтобы получить информацию о найденных устройствах Ваше приложение должно зарегистрировать BroadcastReceiver для интента ACTION_FOUND. Этот интент вызывается для каждого найденного устройства. Интент содержит дополнительные поля EXTRA_DEVICE и EXTRA_CLASS, которые содержат объекты BluetoothDevice и BluetoothClass соответственно.

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

Включение Bluetooth из приложения

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

В результате выполнения этого кода пользователю будет показан диалог с запросом. Если пользователь согласится, телефон будет переведен в режим видимости, и будет вызван callback метод onActivityResult() . В качестве результата методу будет передано число секунд, которое устройство будет видимым. Если пользователь откажется от предложения или произойдет ошибка, то интент вернет код RESULT_CANCELED. Перевод устройства в режим видимости автоматически включает bluetooth адаптер.

Читайте также:  Как разблокировать андроид хайвей

Если вы хотите получить уведомления, при изменении режима видимости Вашего устройства, зарегистрируйте BroadcastReceiver для интента ACTION_SCAN_MODE_CHANGED. Дополнительные поля EXTRA_SCAN_MODE и EXTRA_PREVIOUS_SCAN_MODE позволяют получить информацию о новом и старом состоянии соответственно. Они могут принимать значения SCAN_MODE_CONNECTABLE_DISCOVERABLE, SCAN_MODE_CONNECTABLE или SCAN_MODE_NONE. Первое значение указывает на то, что устройство доступно для поиска. Второе — устройство не доступно для поиска, но способно принимать соединения. Третье — не доступно для поиска и не может принимать соединения.

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

Соединение устройств

Чтобы соединить два устройства, вы должны написать серверную и клиентскую часть кода. Одно из устройств должно открыть серверный сокет, а второе — инициализировать соединение, используя MAC адрес сервера. Сервер и клиент считаются соединенными, когда они оба имеют активный BluetoothSocket на одном и том же RFCOMM канале. После этого они могут поучать и отправлять потоки данных. Сервер и клиент по-разному получают требуемый BluetoothSocket. Сервер получает его, когда входящее соединение принято. Клиент — когда открывает RFCOMM для сервера.

Сервер

При соединении устройств одно из них должно вести себя как сервер, то есть удерживать открытый BluetoothServerSocket. Цель сервера — ждать запроса на входящее соединение, и когда оно подтверждено, создать BluetoothSocket. После этого BluetoothServerSocket можно закрыть. Рассмотрим поэтапно процедуру соединения с точки зрения сервера:

  1. Получить BluetoothServerSocket вызвав метод listenUsingRfcommWithServiceRecord(String, UUID). Первый параметр метода представляет собой идентификационное имя вашего сервиса. Система автоматически добавит его в базу Service Discovery Protocol (SDP). Обычно в качестве этого параметра просто указывают название приложения. Второй параметр также идентифицирует сервис. Этот параметр используется клиентом при подтверждении соединения.
  2. Начинаем прослушивать запрос на соединения через метод accept(). Это блокирующий метод, который возвращает результат либо когда соединение подтверждено, либо когда произошло исключение. Соединение считается подтвержденным, когда удаленное устройство пошлет запрос на соединение с UUID, указанным при регистрации серверного сокета. В случае успеха, accept() возвращает настроенный на соединение BluetoothSocket.
  3. Если Вы хотите принять дополнительное соединение, вызовите метод close(). Это приведет к освобождению сокета и всех его ресурсов, но не закроет соединенный BluetoothSocket. В отличие от TCP/IP, RFCOMM позволяет работать только с одним клиентом на канале, поэтому в большинстве случаев имеет смысл вызывать метод close() срезу же после установки принятия сокета.

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

Ниже приведен пример потока, реализующий описанный выше механизм работы

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

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

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

Вы должны закрыть BluetoothServerSocket сразу же после завершения прослушивания эфира на предмет наличия входящего соединения. В приведенном примере метод close() вызывается сразу после получения объекта BluetoothSocket. Также Вам может понадобиться public метод для остановки приватного BluetoothSocket.

Клиент

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

Опишем процедуру соединения:

  1. Получим BluetoothSocket вызвав метод BluetoothDevice.createRfcommSocketToServiceRecord(UUID). Значение параметра UUID должно совпадать с значением, указанным при вызове listenUsingRfcommWithServiceRecord сервера.
  2. Инициализируем соединение, вызвав метод connect(). После вызова этого метода система будет выполнять SDP поиск на удаленном устройстве, чтобы сопоставить UUID. В случае успеха при условии подтверждения запроса со стороны сервера будет открыт RFCOMM канал. Это блокирующий вызов. Если по каким-то причинам соединение сорвется или выйдет timeout (около 12 секунд), будет сгенерировано исключение.

Как и в случае с accept, метод connect() следует выполнять в отдельном потоке, в противном случае может произойти подвисание интерфейса.

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

Приведем пример клиентского приложения, инициализирующего соединение

Для остановки сканирования эфира вызывается метод cancelDiscovery(). Перед вызовом этого метода можно проверить идет ли сканирование с помощью isDiscovering().

После завершения работы с BluetoothSocket всегда вызывайте метод close(). Это поможет сэкономить ресурсы телефона.

Передача данных

После успешного соединения, каждое из соединенных устройств имеет объект BluetoothSocket с помощью которого легко реализовать передачу/прием данных:

  1. С помощью методов getInputStream() и getOutputStream() полуить объекты InputStream и OutputStream, управляющие передачей через сокет.
  2. Читать и писать данные в поток с помощью методов read(byte[]) и write(byte[]).

Вы должны использовать отдельный поток для чтения и записи данных. Это важно, поскольку методы read(byte[]) и write(byte[]) являются блокирующими и их вызов в основном потоке может парализовать вашу программу. Главный цикл в этом отдельном потоке должен считывать данные из InputStream. Для записи в OutputStream имеет смысл создать отдельный public метод.

В конструкторе создаются объекты для работы с потоками данных, после чего поток оживает входящие данные. После того как прочитан очередной блок данных из входящего потока он посылается в главную деятельность посредствам вызова метода Handler родительского класса. Для отправки данных из главной деятельности просто вызывается метод write(). Внутри этого публичного метода происходит вызов write(byte[]). Метод close() также можно вызвать из главной деятельности. Он разрывает соединение.

Источник

Оцените статью