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