2013-04-19 3 views
3

Я пытаюсь работать с примером Bluetooth, который должен подключать клиентское приложение Android к приложению Bluetooth-сервера, работающему на ПК (приложение Java, использует библиотеку Bluecove) с использованием протокола «rtspp».Ошибка Bluetooth SDP в некоторых устройствах

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

При попытке подключиться к устройствам HTC с помощью SDP с ошибкой IO Exception при подключении.

Вот мой код для серверного приложения, которое работает как приложение для Java-приложений;

String url = "btspp://localhost:" + uuid.toString() + ";name=MyAppSDPName"; 
StreamConnectionNotifier notifier = (StreamConnectionNotifier)Connector.open(url); 
StreamConnection connection = notifier.acceptAndOpen(); 
... 

Это серверное приложение работает успешно и ждет входящих соединений ...

Это мой код клиента на стороне, которая запускается в качестве приложения для Android;

BluetoothDevice mmDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(deviceAddress); 
BluetoothSocket mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid); 
mmSocket.connect(); 

Во время работы этого приложения в устройствах Samsung нет проблем .. Но когда от HTS устройств, он бросает IOException в котором говорится, что SDP failed

Может кто-нибудь пожалуйста, покажите некоторый свет на этот вопрос с устройствами HTC? Протестировано с устройствами HTC с Android 2.2 и 4.0 ОС

ответ

0

Как и в случае с некоторыми производителями, HTC имеет немного отличающуюся реализацию стека bluetooth, поэтому это может быть причиной того, что SDP не работает должным образом.

+0

тогда, как я могу достичь хорошего решения, не могли бы вы предложить мне какие-нибудь? – Midhu

+0

Боюсь, я не могу. Я столкнулся с аналогичной проблемой сейчас, работая с HID и SDP, из-за Android-пакета Bluetooth (BlueZ). Я не знаю почему, но он не обеспечивает полного поведения, которое он мог бы иметь в обычном Linux. Например, невозможно подключить сокеты сервера L2CAP к входящему соединению. Если проблема связана только с HTC, то это потому, что их стек не поддерживает эту функцию, и я не знаю, можно ли ее изменить, хотя я очень сомневаюсь в этом. – dleal

Смежные вопросы