Как отправить / получить текст и изображение через Bluetooth Android на другой телефон Android - PullRequest
1 голос
/ 18 января 2012

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

1 Ответ

2 голосов
/ 18 января 2012

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

Я предполагаю, что у вас есть опыт разработки приложения Bluetooth в Android. Android Bluetooth API не поддерживает OBEX напрямую, что означает, что я не могу отправить любой файл напрямую на любое устройство. Android Bluetooth API обеспечивает базовые функции, такие как обнаружение, подключение и передача данных с использованием потоков (InputStream и OutputStream).

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

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

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

Вот код, следующие 6 строк позволяют отправлять файл с помощью Bluetooth, вам потребовалось только две вещи 1. URI файла, который вы хотите отправить 2. DeviceAddress.

ContentValues values = new ContentValues();
values.put(BluetoothShare.URI, "content://" + uritoSend);
values.put(BluetoothShare.DESTINATION, deviceAddress);
values.put(BluetoothShare.DIRECTION, BluetoothShare.DIRECTION_OUTBOUND);
Long ts = System.currentTimeMillis();
values.put(BluetoothShare.TIMESTAMP, ts);

Описание приведенного выше кода.

  1. Создать объект ContentValue
  2. поставить URI файла, который вы хотите отправить
  3. положить DeviceAdddress, адрес устройства назначения
  4. put Direction, set outbound означает, что вы хотите отправить файл.
  5. отметка времени, которая будет отображаться на панели уведомлений
  6. поставить отметку времени.

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

...