Почему имя веб-устройства Bluetooth ограничено 8 байтами? - PullRequest
0 голосов
/ 08 ноября 2019

Этот вопрос связан с вопросом " Периферийное устройство Bluetooth ADVERTISE_FAILED_DATA_TOO_LARGE "

Когда вы настраиваете объект AdvertiseData в Android, необходимо включить ParcelUuid, который должен быть 16 байтов. Учитывая, что ограничение размера пакета составляет 31 байт, у меня должно быть 15 байт, чтобы включить имя устройства в AdvertiseData.

Я проверил это, и ограничение на имя устройства составляет 8 байт;Пройдите дальше, и вы получите ошибку "ADVERTISE_FAILED_DATA_TOO_LARGE". Простое решение (которое было ответом в проблеме по ссылке выше) состоит в том, чтобы просто setIncludeDeviceName (false) и покончить с этим;Тем не менее, я хотел бы сделать следующее:

bluetoothAdapter.setName (bluetoothAdapter.getName (). substring (0, 8));

Но кажется 8 символовКороче говоря, И я думаю, что я буду программно менять имя устройства Bluetooth для всех приложений (это, вероятно, недостаток безопасности, который в конечном итоге будет закрыт).

Два вопроса:

  • Гдемои пропущенные байты? ... над головой?
  • Это плохая идея программно изменить имя устройства Bluetooth для всех приложений?

Thx.

...