Bluetooth-> сервисное исследование перестало работать

Я пишу приложение, которое может связаться с моим ПК. Я использовал технические возможности Bluetooth SDK 2.1.

Я могу найти устройства, получить их MAC-адрес, создать сокет RFCOMM, но когда я запускаю соединение, я получаю следующее сообщение об ошибке.

Сервисное исследование перестало работать.

  1. Это из-за UUID, который не является тем же на моем приложении и на моем ПК?
  2. Как я могу получить корректный UUID на своем ПК?

Если я пишу такое приложение, действительно ли мой Nexus One является клиентом или сервером?

13
задан dda 25 January 2017 в 10:24
поделиться

2 ответа

OK, у меня та же проблема, но я думаю, что могу ответить на несколько ваших вопросов. Если ваш ПК открыл SPP порт, например, с помощью команды "sdptool add --channel=3 SP", то ваш телефон Android будет клиентом, открывающим сокет и соединяющимся с помощью этого сокета с сервером (вашим ПК или любым другим Bluetooth устройством, например, GPS, мышью и т.д.).

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

Если вы открываете SPP порт на сервере (вашем ПК и т.д.), вы предлагаете стандартную услугу, и для этой услуги назначен специальный UUID. Это может быть: 00001101-0000-1000-8000-00805F9B34FB, если я не ошибаюсь.

Поэтому я думаю, что мы должны получить квалифицированный ответ от разработчика Android. Или задайте этот вопрос в четверг в рабочее время IRC.

7
ответ дан 2 December 2019 в 00:03
поделиться

Хотя это может быть ваш UUID, я бы также предложил вам убедиться, что Bluetooth MAC является точным и в верхнем регистре.

Я бы также предложил запустить hcidump -X в терминале на компьютере Linux, и посмотреть, можете ли вы увидеть любой двусторонний трафик между машиной Linux и телефоном в течение всего процесса.

2
ответ дан 2 December 2019 в 00:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: