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 advertisements 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

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 timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

Builder

Added in API level 21
public Builder ()

Public methods

build

Added in API level 21
public ScanSettings build ()

Build ScanSettings.

Returns
ScanSettings

Throws
IllegalArgumentException if the settings cannot be built.

setCallbackType

Added in API level 23
public ScanSettings.Builder setCallbackType (int callbackType)

Set callback type for Bluetooth LE scan.

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

Throws
IllegalArgumentException If the callbackType is invalid.

setLegacy

Added in API level 26
public ScanSettings.Builder setLegacy (boolean legacy)

Set whether only legacy advertisements 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

setMatchMode

Added in API level 23
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

Throws
IllegalArgumentException If the matchMode is invalid.

setNumOfMatches

Added in API level 23
public ScanSettings.Builder setNumOfMatches (int numOfMatches)

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

Throws
IllegalArgumentException If the matchMode is invalid.

setPhy

Added in API level 26
public ScanSettings.Builder setPhy (int phy)

Set the Physical Layer to use during this scan. This is used only if setLegacy(boolean) 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.

setReportDelay

Added in API level 21
public ScanSettings.Builder setReportDelay (long reportDelayMillis)

Set report delay timestamp for Bluetooth LE scan. If set to 0, you will be notified of scan results immediately. If > 0, scan results are queued up and delivered after the requested delay or 5000 milliseconds (whichever is higher). Note scan results may be delivered sooner if the internal buffers fill up.

Parameters
reportDelayMillis long: how frequently scan results should be delivered in milliseconds

Throws
IllegalArgumentException if reportDelayMillis < 0

setScanMode

Added in API level 21
public ScanSettings.Builder setScanMode (int scanMode)

Set scan mode for Bluetooth LE scan.

Throws
IllegalArgumentException If the scanMode is invalid.