我如何使用 android.bluetooth.BluetoothAssignedNumbers。我想获取蓝牙设备的公司 ID 值。我找不到任何关于它的例子。
问问题
444 次
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 回答