Android Bluetooth Где я могу получить UUID? - PullRequest
12 голосов
/ 27 октября 2010

Я хочу подключить 3 устройства через Bluetooth.

Как, например, я использую BluetoothChat.Итак, насколько я понимаю, я должен использовать разные UUID для этого устройства.Я пытался подключиться через такой UUID = 766c82f0-e1b4-11df-85ca-0800200c9a66, который я получил из генератора Web UUID.Но это не работает вообще.

Я успешно подключился (к 1 устройству), если использовал UUID = 00001101-0000-1000-8000-00805F9B34FB

Где я могу получить UUID?

Ответы [ 6 ]

7 голосов
/ 11 мая 2016

если вы используете linux или mac, введите «uuidgen» эту команду без кавычек в терминале, вы получите уникальный UUID, используйте его в своем проекте Android.

2 голосов
/ 22 марта 2018

Вы должны получить Bluetooth UUID, чтобы установить соединение с устройством,

Вы можете вызвать метод getUuids(), используя отражение:

    try {
    BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
    Method getUuidsMethod = BluetoothAdapter.class.getDeclaredMethod("getUuids", null);
    ParcelUuid[] uuids = (ParcelUuid[]) getUuidsMethod.invoke(adapter, null);

         if(uuids != null) {
             for (ParcelUuid uuid : uuids) {
                 Log.d(TAG, "UUID: " + uuid.getUuid().toString());
             }
         }else{
             Log.d(TAG, "Uuids not found, be sure to enable Bluetooth!");
         }

    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }

Не забудьте добавитьразрешение:

   <uses-permission android:name="android.permission.BLUETOOTH"/>

и вы должны включить Bluetooth для получения Uuids, например:

UUID: 0000110f-0000-1000-8000-00805f9b12fb
UUID: 0000111d-0000-1000-8000-00805f9b12fb
UUID: 0000111a-0000-1000-8000-00805f9b12fb
2 голосов
/ 05 марта 2013

Чтобы подключиться к целевым устройствам, вам необходимо знать, к чему вы подключаетесь. Будет более полезно перечислить цели вашего устройства.

UUID можно получить по этой ссылке, http://www.bluecove.org/bluecove/apidocs/javax/bluetooth/UUID.html

Здесь вам необходимо знать, какой профиль Bluetooth используется на каждом целевом устройстве. Вы упомянули, что «UUID = 00001101-0000-1000-8000-00805F9B34FB» работает.

Это связано с тем, что на вашем устройстве установлен профиль SPP Bluetooth. SPP обозначает профиль последовательного порта.

Вы также можете посмотреть на Bluetoothdevice.getuuids. http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#getUuids()

2 голосов
/ 17 февраля 2012

UUid используется для уникальной идентификации приложений. Каждое приложение имеет уникальный UUID. Поэтому используйте один и тот же UUID для каждого устройства

0 голосов
/ 17 августа 2015

Представьте, что у вас есть одна или несколько услуг. Каждый сервис имеет свой UUID. UUID = 00001101-0000-1000-8000-00805F9B34FB является специальным для SPP. Некоторые устройства (например, последовательная плата Bluetooth) не будут работать, если вы не установите SPP UUID. Но для однорангового соединения между устройствами Android, такими как смартфоны, вы можете использовать собственный сгенерированный UUID. Устройства должны установить один и тот же UUID, чтобы найти друг друга и подключиться. Формат UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где x = [0, ..., 9] | [A, ..., F]. Хорошей идеей является установить xxxxxxxx-xxxx-xxxx-xxxx- в ваш сгенерированный уникальный идентификатор. Вторая часть xxxxxxxxxxxx может быть установлена ​​на MAC-адрес вашего сервера без ":". На стороне клиента вы можете создать UUID из известного сгенерированного уникального идентификатора (встроенного в ваше приложение) и MAC-адреса сервера без ":". Вы можете получить MAC-адрес сервера во время обнаружения устройства Bluetooth.

0 голосов
/ 28 октября 2010

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

...