# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Ctors | Methods | Inherited Methods

# ScanSettings.Builder

`public static final class ScanSettings.Builder`
`extends Object` ``

java.lang.Object
↳ | android.bluetooth.le.ScanSettings.Builder

Builder for `ScanSettings`.

## Summary

### Public constructors
`Builder()`

### Public methods
`ScanSettings` | `build()` Build `ScanSettings`.
`ScanSettings.Builder` | `setCallbackType(int callbackType)` Set callback type for Bluetooth LE scan.
`ScanSettings.Builder` | `setLegacy(boolean legacy)` Set whether only legacy advertisments should be returned in scan results.
`ScanSettings.Builder` | `setMatchMode(int matchMode)` Set match mode for Bluetooth LE scan filters hardware match
`ScanSettings.Builder` | `setNumOfMatches(int numOfMatches)` Set the number of matches for Bluetooth LE scan filters hardware match
`ScanSettings.Builder` | `setPhy(int phy)` Set the Physical Layer to use during this scan.
`ScanSettings.Builder` | `setReportDelay(long reportDelayMillis)` Set report delay timestamp for Bluetooth LE scan.
`ScanSettings.Builder` | `setScanMode(int scanMode)` Set scan mode for Bluetooth LE scan.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Public constructors

### Builder

    public Builder ()

## Public methods

### build

    public ScanSettings build ()

Build `ScanSettings`.

Returns
`ScanSettings` |

### setCallbackType

    public ScanSettings.Builder setCallbackType (int callbackType)

Set callback type for Bluetooth LE scan.

Parameters
`callbackType` | `int`: The callback type flags for the scan.

Returns
`ScanSettings.Builder` |

Throws
`IllegalArgumentException` | If the `callbackType` is invalid.

### setLegacy

    public ScanSettings.Builder setLegacy (boolean legacy)

Set whether only legacy advertisments should be returned in scan results. Legacy advertisements include advertisements as specified by the Bluetooth core specification 4.2 and below. This is true by default for compatibility with older apps.

Parameters
`legacy` | `boolean`: true if only legacy advertisements will be returned

Returns
`ScanSettings.Builder` |

### setMatchMode

    public ScanSettings.Builder setMatchMode (int matchMode)

Set match mode for Bluetooth LE scan filters hardware match

Parameters
`matchMode` | `int`: The match mode can be one of `ScanSettings#MATCH_MODE_AGGRESSIVE` or `ScanSettings#MATCH_MODE_STICKY`

Returns
`ScanSettings.Builder` |

Throws
`IllegalArgumentException` | If the `matchMode` is invalid.

### setNumOfMatches

    public ScanSettings.Builder setNumOfMatches (int numOfMatches)

Set the number of matches for Bluetooth LE scan filters hardware match

Parameters
`numOfMatches` | `int`: The num of matches can be one of `ScanSettings#MATCH_NUM_ONE_ADVERTISEMENT` or `ScanSettings#MATCH_NUM_FEW_ADVERTISEMENT` or `ScanSettings#MATCH_NUM_MAX_ADVERTISEMENT`

Returns
`ScanSettings.Builder` |

Throws
`IllegalArgumentException` | If the `matchMode` is invalid.

### setPhy

    public ScanSettings.Builder setPhy (int phy)

Set the Physical Layer to use during this scan. This is used only if `ScanSettings.Builder#setLegacy` is set to false. `BluetoothAdapter.isLeCodedPhySupported()` may be used to check whether LE Coded phy is supported by calling `BluetoothAdapter.isLeCodedPhySupported()`. Selecting an unsupported phy will result in failure to start scan.

Parameters
`phy` | `int`: Can be one of `BluetoothDevice#PHY_LE_1M`, `BluetoothDevice#PHY_LE_CODED` or `ScanSettings#PHY_LE_ALL_SUPPORTED`

Returns
`ScanSettings.Builder` |

### setReportDelay

    public ScanSettings.Builder setReportDelay (long reportDelayMillis)

Set report delay timestamp for Bluetooth LE scan.

Parameters
`reportDelayMillis` | `long`: Delay of report in milliseconds. Set to 0 to be notified of results immediately. Values > 0 causes the scan results to be queued up and delivered after the requested delay or when the internal buffers fill up.

Returns
`ScanSettings.Builder` |

Throws
`IllegalArgumentException` | If `reportDelayMillis` < 0.

### setScanMode

    public ScanSettings.Builder setScanMode (int scanMode)

Set scan mode for Bluetooth LE scan.

Parameters
`scanMode` | `int`: The scan mode can be one of `ScanSettings#SCAN_MODE_LOW_POWER`, `ScanSettings#SCAN_MODE_BALANCED` or `ScanSettings#SCAN_MODE_LOW_LATENCY`.

Returns
`ScanSettings.Builder` |

Throws
`IllegalArgumentException` | If the `scanMode` is invalid.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*