см. Эту ссылку Обмен 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);
Описание приведенного выше кода.
- Создать объект ContentValue
- поставить URI файла, который вы хотите отправить
- положить DeviceAdddress, адрес устройства назначения
- put Direction, set outbound означает, что вы хотите отправить файл.
- отметка времени, которая будет отображаться на панели уведомлений
- поставить отметку времени.
Примечание. Приведенный выше код полезен только в том случае, если у нас есть URI файла, который мы хотим отправить. Это отлично работает для изображений, потому что мы можем получить URI изображений, доступных в галерее, но если мы хотим отправить файл с SDCard, то это сложно, потому что мы не можем получить URI файла, доступного на SDCard.