BLE как установить uuid на 16 бит - PullRequest
0 голосов
/ 25 мая 2018

Я создаю приложение, которое рекламирует данные через BLE.Я создаю ParcelUuid из 128-битного UUID, как этот

pUuid = new ParcelUuid(UUID.fromString("128-bit UUID)

И я добавляю его в AdvertiseData вот так

aData = new AdvertiseData.Builder()
                        .setIncludeDeviceName(true)
                        .addServiceData(pUuid, data.getBytes(Charset.forName("UTF-8")))
                        .build();

Теперь происходит то, что иногда это происходит как16-битный UUID в пакете, а иногда и 128-битный UUID.

Как я могу настроить его на использование только 16-битного UUID всегда ???

1 Ответ

0 голосов
/ 25 мая 2018

Если вы хотите объявить 16-битный UUID, вы должны использовать base-uuid, который фиксирован:

0000xxxx-0000-1000-8000-00805F9B34FB

например,

ParcelUuid pUuid = new ParcelUuid(UUID.fromString("00001234-0000-1000-8000-00805F9B34FB");

Стандарт BLE распознаетэтот UUID как 16-битный.

Подробнее о 16-битных UUID можно прочитать здесь

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