0

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

4

2 回答 2

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);
}
于 2021-03-31T02:14:21.447 回答
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;
   }
}
于 2021-05-18T09:02:28.917 回答