扫描Android/getName()或设备不完整或为空

扫描Android/getName()或设备不完整或为空,android,embedded,bluetooth-lowenergy,Android,Embedded,Bluetooth Lowenergy,我对Android的BLE扫描有问题,我不知道找到的扫描设备的全名,我只得到第一个字母,你知道如何解决这个问题吗 我正在使用一个支持BLE的7.0牛轧糖装置 这是我代码的一部分: mBluetoothScanner = mBluetoothAdapter.getBluetoothLeScanner(); settings = new ScanSettings.Builder() .setScanMode(ScanSettings.SCAN_M

我对Android的BLE扫描有问题,我不知道找到的扫描设备的全名,我只得到第一个字母,你知道如何解决这个问题吗

我正在使用一个支持BLE的7.0牛轧糖装置

这是我代码的一部分:

   mBluetoothScanner = mBluetoothAdapter.getBluetoothLeScanner();
        settings = new ScanSettings.Builder()
                .setScanMode(ScanSettings.SCAN_MODE_LOW_POWER)
                .build();

  if (Build.VERSION.SDK_INT >= 21) {
            mScanCallback = new ScanCallback() {
                @Override
                public void onScanResult(int callbackType, ScanResult result) {
                    messageLog.error("onScanResult");
                    BluetoothDevice btDevice = null;
                    if (Build.VERSION.SDK_INT >= 21) {
                        btDevice = result.getDevice();
                        messageLog.error("btDevice : " + btDevice.getName() + "|" + btDevice.getAddress() + "|" + Arrays.toString(btDevice.getUuids()));
                    }
                    if (btDevice != null && btDevice.getName() != null && !isInDeviceList(btDevice))
                        mDeviceList.add(btDevice);
                }

                @Override
                public void onBatchScanResults(List<ScanResult> results) {
                }

                @Override
                public void onScanFailed(int errorCode) {
                    Log.e("Scan Failed", "Error Code: " + errorCode);
                }
            };
        }

使用btDevice.getName,我只扫描设备的第一个字母,这是我的错还是来自Android BLE API

如果外围设备的名称不适合广告数据,因为它需要在广告数据中包含其他数据,那么它将只通过无线方式发送名称的前缀。除了更改外设固件中的广告数据之外,您对此无能为力


要获得确切的广告数据,您可以调查结果。getScanRecord ScanRecord在onScanResult中。

谢谢,我将尝试更改固件中的名称,并告诉您它是否工作。我已经尝试了result.getScanRecord,我已经成功地获得了8个首字母,你认为这是一个固定的字节数吗?谢谢先生:我使用了result.getScanRecord而不是getName,并在固件中更改了名称,祝你有一个愉快的一天!