java - 如何仅扫描广告包 BLE

标签 java android bluetooth-lowenergy android-bluetooth ibeacon-android

当使用startLeScan方法扫描广告信标时,该方法也会请求外围设备进行扫描响应并将其存储在scanRecord中。我只想扫描广告负载我不想向外围设备发送请求扫描响应

我要扫描的代码:

mBluetoothAdapter.startLeScan(mLEScanCallback);
private BluetoothAdapter.LeScanCallback mLEScanCallback = new BluetoothAdapter.LeScanCallback() {
    @Override
    public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {

    }
};

最佳答案

不,我不认为有任何方法可以关闭扫描响应请求。 Android 4.3-4.4 BLE API 根本不提供扫描选项(服务 uuid 过滤器除外)。新的 Android 5.0 API 添加了一些扫描选项,但没有一个会停止扫描响应。请参阅此处:

https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder.html

关于java - 如何仅扫描广告包 BLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26903049/

相关文章:

java - 如何将此页面作为对象传递到 pom 中的下一页?

android - 谷歌 ExoPlayer 指南

android - 屏幕关闭时,低功耗蓝牙扫描结果的传送会减少

java - 在 Eclipse 中生成 RESTful Web 服务客户端

java - 调用静态方法时创建静态类变​​量 - Java

android - 实现照片共享应用程序的最佳方式

Android:使用自签名 SSL 证书通过网络发布

android - 在 Android 中获取本地低功耗蓝牙设备的 UUID

android - 在没有使用 nRF Connect 的解决方法的情况下,无法使用自定义应用程序连接到 BLE 设备

java - 无法使用 Hibernate 将数据持久保存到数据库中