熟悉BLE技術同學應該對UUID不陌生,服務、特征值、描述都是有UUID格式定義。
藍牙廣播中對服務UUID格式定義都有三種16 bit UUID、32 bit UUID、128 bit UUID。
但是熟悉安卓開發的小伙伴都知道接口都UUID格式,fromString時候16bit的UUID該咋辦呢?
16bit和32bit的UUID與128bit的值之間轉換關系:
128_bit_UUID = 16_bit_UUID * 2^96 + Bluetooth_Base_UUID 128_bit_UUID = 32_bit_UUID * 2^96 + Bluetooth_Base_UUID
其中 Bluetooth_Base_UUID定義為 00000000-0000-1000-8000-00805F9B34FB
如果你想說這是啥呀,那我這樣說你應該可以明白點:
若16 bit UUID為xxxx,那么128 bit UUID為0000xxxx-0000-1000-8000-00805F9B34FB 若32 bit UUID為xxxxxxxx,那么128 bit UUID為xxxxxxxx-0000-1000-8000-00805F9B34FB