Какие классы устройств Bluetooth на телефонах Android? - PullRequest
1 голос
/ 24 июня 2010

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

Я прочитал документацию в: http://developer.android.com/reference/android/bluetooth/BluetoothClass.Device.html и http://developer.android.com/reference/android/bluetooth/BluetoothClass.Device.Major.html

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

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

Есть подсказки?

Ответы [ 2 ]

5 голосов
/ 24 июня 2010

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

Загляните на страницу руководства для hcid.conf.На этой странице описывается, как создается класс:

http://linux.die.net/man/5/hcid.conf

Как указано в приведенном выше документе:

Пример: класс 0x02hhhh: устройство предлагает сетевую службуРаспределение классов основных устройств:

0x00: Miscellaneous

0x01: Computer (desktop,notebook, PDA, organizers, .... )

РЕДАКТИРОВАТЬ: Несколько других примечаний:

  1. По умолчанию телефоны Android не находятся в режиме обнаружения.Так что, скорее всего, ни одно из ваших обнаруженных устройств никогда не будет устройством Android, если вы не включили режим обнаружения на устройстве.

  2. Многие телефоны могут определять RSSI (уровень сигнала) обнаруженных устройств.Эта информация передается вашему приложению во время обнаружения как bundle extra.Соседние устройства обычно имеют более высокий RSSI, чем удаленные устройства.Таким образом, вы также можете фильтровать по «как близко устройство».

  3. Bluetooth MAC, используемый для различных устройств, будет иметь определенные диапазоны.Первые три байта Bluetooth MAC соответствуют поставщику оборудования ... Есть много поставщиков, но большинство из них не делают аппаратное обеспечение Bluetooth для телефонов.Таким образом, вы также можете фильтровать по Bluetooth MAC - если он попадает в известный диапазон, это, вероятно, Android.

0 голосов
/ 24 июля 2017

Вот ссылки на класс устройства, перечисленные в документе Android

BluetoothClass.Device.Major

BluetoothClass.Device

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