3

我正在尝试从我的 Android 应用程序在 ChromeOS 上进行 BLE 扫描。打开位置权限后,我可以获得扫描结果。但制造商数据不存在于结果中。

我在固件中设置的制造商 ID 是 0x0。我正在打印整个结果对象,但在任何地方都看不到我的制造商特定数据(没有 0xff,它是 Manu.Specific Data 类型)

有谁知道为什么会这样?

private ScanCallback scanCallback = new ScanCallback() {
@Override
public void onScanResult(final int callbackType, final ScanResult result) {
BluetoothDevice device = result.getDevice();
int rssi = result.getRssi();
byte[] scanRecord = result.getScanRecord().getBytes();
Map<ParcelUuid, byte[]> Uuidmap = result.getScanRecord().getServiceData();

Log.i(TAG, "onScanResult- Name: " + device.getName() + " rssi: " + result.getRssi() + " Mfg data: " + Arrays.toString(result.getScanRecord().getManufacturerSpecificData(0)));
for (Map.Entry<ParcelUuid, byte[]> entry : Uuidmap.entrySet()) {
String key = entry.getKey().toString();
byte[] value = entry.getValue();
Log.i(TAG, "UUID: " + key + " Data: " + Arrays.toString(value));
}
Log.i(TAG, "Data " + Arrays.toString(scanRecord));
4

0 回答 0