获取蓝牙设备的公司ID值

时间:2012-07-16 09:33:17

标签: android bluetooth

我如何使用android.bluetooth.BluetoothAssignedNumbers。 我想获取蓝牙设备的公司ID值。 我找不到任何关于它的例子。

2 个答案:

答案 0 :(得分:0)

从这里https://stackoverflow.com/a/39896379/1739847

ScanRecord scanRecord = scanResult.getScanRecord();
SparseArray<byte[]> manufacturerData = scanRecord.getManufacturerSpecificData();
for(int i = 0; i < manufacturerData .size(); i++){
    int manufacturerId = manufacturerData.keyAt(i);
}

答案 1 :(得分:0)

result.getScanRecord().getBytes()

公司标识符是值为 -1 的字节之后的两个字节。

位置因设备而异,因此您只需遍历字节数组即可。

byte[] bytes = result.getScanRecord().getBytes();
String companyID = "";

for(int i = 0; i < bytes.length; i++) {
   if(bytes[i] == -1) {
      companyID = companyID + String.format("%02X", bytes[i+1]) + String.format("%02X", bytes[i+2]);
      break;
   }
}