Android10 BT MAC地址获取流程
Android10 BT MAC地址获取流程
以QCS8250 Android10为例讲解BT MAC地址获取流程。
1 蓝牙MAC地址格式
蓝牙设备地址(BD_ADDR)是一个48bit的唯一标识符,由LAP(24位地址低端部分)、UAP(8位地址高端部分)、NAP(16位无意义地址部分)组成,蓝牙MAC地址分布如下:
LSB MSB|0000 0001 0000 0000 0000 0000|0001 0010|0111 1011 0011 0101||<------------(24bit)-------->|<( 8bit)>|<----+(16bit)+---->|| LAP | UAP | NAP |
UAP和NAP是蓝牙设备生产厂商的唯一标识码,有SIG分配给各大厂商。LAP由厂商自行分配。
其中:
bit40为组播地址标志位:
0:unicast(单播)
1:multicast(组播)
bit41为地址类型标志位:
0:universal addr
1:local addr
2 获取蓝牙MAC地址流程
蓝牙MAC地址获取流程代码位于:vendor/qcom/proprietary/bluetooth/hidl_transport/bt/1.0/default/bluetooth_address.cp