While scanning for advertising beacons with startLeScan method, this method also request peripheral device for scan response and stores it in scanRecord. I only want to scan for advertising payload I don’t want to send request scan response to peripheral device
my code to scan:
mBluetoothAdapter.startLeScan(mLEScanCallback);
private BluetoothAdapter.LeScanCallback mLEScanCallback = new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {
}
};
No, I do not believe there is any way to turn off scan response requests. Android 4.3-4.4 BLE APIs provide no scanning options at all (other than a service uuid filter). The new Android 5.0 APIs have added some scan options, but none that halt scan responses. See here:
https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder.html