Название службы Bluetooth не отображается HTC Wildfire - PullRequest
0 голосов
/ 25 ноября 2010

Я работаю над приложением, которому нужно предоставить сокет Bluetooth Server для другого устройства. Устройство, с которым мне приходится работать, устанавливает соединение, игнорирующее uuid, и ищет только устройства с правильным именем службы.

Я открываю BluetoothServerSocket с помощью следующей команды:

UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
tmp = mBluetoothAdapter.listenUsingRfcommWithServiceRecord("PWAccesP", uuid);

Моя проблема в том, что имя_службы не публикуется Android SDP. Когда я запрашиваю доступные службы с помощью sdptool, я получаю следующий вывод:

...

Service RecHandle: 0x10008
Service Class ID List:
  UUID 128: 00001101-0000-1000-8000-00805F9B34FB
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
Channel: 6

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

Я работаю с HTC Wildfire с Android 2.1.

Мой вопрос сейчас таков: это проблема стека HTC Bluetooth, это проблема Wildfire или проблема Android 2.1?

К сожалению, у меня нет других телефонов для проверки, поэтому я прошу сообщество помочь мне здесь ... Кто-нибудь сталкивался с этим раньше или знает, как заставить имя службы появляться?

Btw: Мне удалось проверить, что BluetoothSocketServer подключается с помощью другого устройства, которое подключается с помощью uuid, а не по имени службы.

Спасибо и всего наилучшего, Michael

Ответы [ 4 ]

0 голосов
/ 11 апреля 2011

И окончательный ответ с моей стороны (если кто-то еще работает над этим):

Я попробовал это сейчас на Nexus S с Android 2.3.x и наконец смог подключить устройства PWAccessP,Мне потребовалось некоторое время для сопряжения, и телефон должен быть постоянно виден, но по крайней мере у меня все заработало.

С уважением, Майкл

0 голосов
/ 10 января 2011

Только что попытался поработать еще с устройствами PWAccessP на Wildfire с 2.2 (и имя службы правильно показано в sdptool).К сожалению, я также не смог установить соединение с устройством.

У меня есть два разных устройства PWAccessP, и оба не подключаются к Wildfire.

Кроме того, я попытался подключить их кмой ноутбук с помощью сценария Perl сокета сервера я нашел где-то.Я смог подключиться к своему ноутбуку с помощью третьего устройства, но PWAccessP этого не сделал.У меня короткое действие, показанное моим BT-менеджером, но я думаю, что это только часть sdp, но соединение / соединение не установлено.

Однако у меня есть работающее приложение для Blackberry, которое успешно взаимодействует сPWAccessP-устройства, поэтому это как-то должно быть возможно.(У меня есть исходный код, но он не очень помогает для Android ...)

Если кто-то найдет решение этой проблемы, пожалуйста, сообщите нам.

С уважением, Майкл

0 голосов
/ 27 января 2011

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

Кто-нибудь пытался отказаться от API Android и просто использовать Java с JSR-82 (расширения Bluetooth) для получения данных с этих устройств на Android?Возможно, это правда, что это происходит не так, как API Android, и может просто работать ...

0 голосов
/ 22 декабря 2010

После обновления моего устройства Wildfire до Android 2.2 имя службы Bluetooth теперь правильно подключено. Если исправление пришло из стека Bluetooth или Android 2.2, мне не ясно, но это не имеет значения, поскольку оно работает ...

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