lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey

ScanSettings.Builder

public static final class ScanSettings.Builder
extends Object

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


Builder for ScanSettings.

Summary

Public constructors

ScanSettings.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

Public constructors

ScanSettings.Builder

added in API level 21
public ScanSettings.Builder ()

Public methods

build

added in API level 21
public ScanSettings build ()

Build ScanSettings.

Returns
ScanSettings

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.

Returns
ScanSettings.Builder

Throws
IllegalArgumentException If the callbackType is invalid.

setLegacy

added in API level 26
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

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

Returns
ScanSettings.Builder

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

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

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.

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

added in API level 21
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

added in API level 21
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.