在 Android BLE 中遇到自定义 UUID 问题

Having trouble with custom UUID in Android BLE

我在使用自己生成的 UUID(不使用蓝牙 SIG 保留的 16 位 UUID)在 Android BLE 中进行通信时遇到问题。

目标设备有两个——一个作为外围设备(Samsung galaxy note 4/android 5.1.1),另一个作为中心设备(Samsung galaxy S5/android 5.0.1)。我把自己服务的UUID和特征的UUID放在外围端。中心侧,找不到特色,只找到服务。

这似乎是由于未使用 these Characteristic UUIDs 之一而是使用自定义生成的 UUID 造成的。 下面是我自己生成的 UUID。

private static final UUID CUSTOM_SERVICE_UUID = UUID.fromString("abcd1111-0000-1000-8000-00805f9b34fb");
private static final UUID CUSTOM_CHARACTERISTIC_UUID = UUID.fromString("abcd1112-0000-1000-8000-00805f9b34fb");

服务,还可以,但是有特色,没有。 你有什么想法吗?

您使用的是官方基本 UUID:xxxxxxxx-0000-1000-8000-00805f9b34fb,其中所有高 32 位均已保留(部分已分配。)

相反,您应该使用自己的 128 位 UUID。您可以使用 online tool 生成一个。然后只需将您自己的内部 n 位短 uuid 分配给您的每个特征。

例如:使用 base => 18902a9a-1f4a-44fe-936f-14c8eea418xx

  • 服务 => 18902a9a-1f4a-44fe-936f-14c8eea41800
  • 特征 => 18902a9a-1f4a-44fe-936f-14c8eea41801