Незащищенное соединение Bluetooth в Android - PullRequest
6 голосов
/ 09 апреля 2011

Профессор попросил меня разработать небольшое демонстрационное приложение Bluetooth для Android.Я ничего не знал о разработке для Android до 2 недель назад, когда он дал мне этот вызов.Я также довольно новичок в программировании на Java в целом, поэтому я начинаю далеко.Но в любом случае ...

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

Я сталкиваюсь со многими проблемами, но до сих пор моя главная задача - открыть сокет с помощью незащищенной мыши.Когда я пытаюсь использовать метод listenUsingRfcommWithServiceRecord, он запрашивает UUID в качестве параметра.Но моя мышь, скорее всего, не имеет UUID для ответа, поэтому я предполагаю, что этот метод не подходит.

Когда я читаю документацию об этом методе, он говорит, что открыть небезопасный сокеттакое устройство, как мышь, я должен использовать метод listenUsingInsecureRfcommWithServiceRecord.Но этот метод недоступен, когда я его вызываю, он подчеркивается красным, и Eclipse говорит, что он не определен для типа BluetoothAdapter.неправильно, это мой первый вопрос, и я начинаю с программирования на Java.

Ответы [ 3 ]

4 голосов
/ 09 апреля 2011
listenUsingInsecureRfcommWithServiceRecord()

Это доступно только на уровне API 10 и более поздних версий, т. Е. На Android v2.3.3 и более поздних версиях.

Это может быть проблемой, если вы создаете версию, предшествующую этой.

См. Правую часть серого столбца в документах

РЕДАКТИРОВАТЬ: В свете того, что невозможно расширить BluetoothAdapter, listenUsingInsecureRfcommWithServiceRecord() просто делает это ...

return createNewRfcommSocketAndRecord(name, uuid, false, false);

Источник для createNewRfcommSocketAndRecord () (который является частным методом BluetoothAdapter) можно найти здесь ... createNewRfcommSocketAndRecord

Не уверен, что поможет, но вы можете воспроизвести его функциональность.

0 голосов
/ 26 мая 2011

Для поддержки профилей Bluetooth в Android существует проект под названием «Sybase-iAnywhere-Blue-SDK-for-Android», который заменяет версию Android и предоставляет все интерфейсы в базовые профили и протоколы Bluetooth. При этом печать через Bluetooth с помощью телефона Android будет возможна с использованием профиля BPP, предоставленного этим SDK.

См. Ссылки ниже для более подробной информации: ссылка 1: http://www.sybase.com/detail?id=1064424

Ссылка 2: http://www.sybase.com/products/allproductsa-z/mobiledevicesdks/bluetoothsdks

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

Если вы пытаетесь разговаривать с коммерческой мышью - тогда использование API-интерфейса сокета SPP в Android не поможет. Мыши используют профиль Bluetooth HID, и для этого требуется, чтобы на телефоне была доступна роль хоста профиля HID.Стандартный выпуск для Android в настоящее время не поддерживает HID - поэтому вам придется добавить его самостоятельно и собрать Android, интегрирующий HID из BlueZ и подключив его к вашему приложению.

...