当前位置:  开发笔记 > Android > 正文

使用过滤器的Android BLE设备扫描无效

如何解决《使用过滤器的AndroidBLE设备扫描无效》经验,为你挑选了1个好方法。

我正在使用android BLE(蓝牙低功耗).我在使用
startLeScan(UUID[] serviceUuids, BluetoothAdapter.LeScanCallback callback)方法扫描BLE设备时遇到了麻烦,
startLeScan(BluetoothAdapter.LeScanCallback callback) 工作正常.
当我使用过滤器扫描特定的serviceUUID时,回调没有执行.我正在测试三星galaxy s6.
我想知道这个问题是特定于设备还是扫描函数中存在一些错误.



1> Chris..:

我很确定它不是特定于设备的.首先,正如IshArt所提到的,你应该使用Android 5.0中的startScan.

startScan(List filters, ScanSettings settings, ScanCallback callback)

根据我的经验,如果您使用MAC地址,但Scanfilters的实现工作正常,但其他过滤器设置参数存在问题:

ScanFilter filter = new ScanFilter.Builder().setDeviceAddress(deviceMacAddress).build();
filters.add(filter);

如果这不是您的选择,您也可以实现自己的过滤器.如果将startScan()的过滤器列表保留为空,则忽略所有过滤并接收所有内容.然后在回调中,您可以编写自己的方法来检查结果是否符合您的要求.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有