使用 scanfilter 的 Android 蓝牙低功耗扫描问题

标签 android bluetooth-lowenergy android-bluetooth

当我尝试在 Lollipop 的 BleScan 中使用 ScanFilter 时,它不扫描设备(仅当我通过 ScanFilter 列表时)。如果我只传递一个 UUID,它工作正常。但在 Multiple 的情况下它不起作用..

 ScanSettings settings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_BALANCED).build();
        if (getBluetoothStatus()) {
            mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner();
            List<ScanFilter> mList=scanFilters(serviceUUIDs);
            mBluetoothLeScanner.startScan(mList, settings, mScanCallback);

        }



     private List<ScanFilter> scanFilters(UUID[] serviceUUIDs) {
                List<ScanFilter> list = new ArrayList<>();
                for (int i = 0; i <serviceUUIDs.length; i++) {
                ScanFilter filter = new ScanFilter.Builder().setServiceUuid(ParcelUuid.fromString(serviceUUIDs[0].toString())).build();

                    list.add(filter);
                }

          return list;
            }

最佳答案

那是因为您没有使用变量来遍历元素。

试试这个:

ScanFilter filter = new ScanFilter.Builder().setServiceUuid(ParcelUuid.fromString(serviceUUIDs[i].toStri‌​ng())).build(); 

关于使用 scanfilter 的 Android 蓝牙低功耗扫描问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31725910/

相关文章:

BLE 的 python3 root 权限

android - 如何在蓝牙设备列表中显示图像而不是蓝牙设备名称。?

Android Beacon 库测距

Android Tabhost 在方向更改时更改选项卡

android - Android PCM绘图

java - 带标题的 Android 多行 ListView

android - Android RecyclerView.Adapter 的泛型

android - 通过 BLE 在 2 部安卓手机之间进行通信

bluetooth - 如何阅读特征描述符

android - 我们如何检测具有 BLE 广告功能的 Android 手机