OBEX OPP Специальный перевод - PullRequest
2 голосов
/ 31 мая 2011

Я занимаюсь разработкой клиентского приложения OBEX OPP в телефоне Android. Через клиентское приложение я отправлю объект на устройство, не являющееся Android (которое будет действовать как сервер OPP). Я установил сокет-соединение RFCOMM с помощью API

createRfcommSocketToServiceRecord (OPP_UUID);Я использовал UUID OBEX Push, то есть

частный статический финал UUID OPP_UUID = UUID .fromString ("00001105-0000-1000-8000-00805F9B34FB");

Я заметил, что черезэто соединение с сокетом прошло успешно, и я получил входной и выходной поток сокета для отправки и получения данных. Но когда я отправляю данные, полученные данные другим устройством отображаются в неправильном формате.Я имею в виду, что в приемном устройстве данные получены с ошибкой.BT Air sniffer указывает, что в поле retrieved_opcode отсутствуют данные. Код ответаOBEX - Плохой запрос.

Может кто-нибудь подсказать, что в этом плохого?или шаги, чтобы установить соединение OBEX OPP с устройством, которое не сопряжено.

Ваш ценный вклад поможет мне преодолеть это.

Спасибо, Шекхар

1 Ответ

3 голосов
/ 31 мая 2011

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

OBEX - это протоколс его собственными заголовками, пакетами и т. д.

Не существует API для связи через OBEX в Android, который вы могли бы использовать программно.(Вы можете подключиться к устройству, но затем можете просто читать / записывать байты).

Вы можете отправить файл на сопряженное устройство через obex несколькими способами:

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

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
share.putExtra(Intent.EXTRA_STREAM, Uri.parse(SDCardPath + "file.jpg"));
startActivity(Intent.createChooser(share, "Share Image"));

ИлиВы можете использовать другой метод, если вам не нужен диалог в вашем приложении, проверьте следующий вопрос, у него есть обновление с рабочим решением:

Отправка файла с помощью Bluetooth OBEX Object Push Profile (ОПП)

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