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.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
|
setRssiThreshold(int rssiThreshold)
Sets the RSSI threshold. |
ScanSettings.Builder
|
setScanMode(int scanMode)
Set scan mode for Bluetooth LE scan. |
ScanSettings.Builder
|
setScanType(int scanType)
Sets the scan type. |
Inherited methods | |
---|---|
Public constructors
Public methods
build
public ScanSettings build ()
Build ScanSettings
.
Returns | |
---|---|
ScanSettings |
Throws | |
---|---|
IllegalArgumentException |
if the settings cannot be built. |
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 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 |
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 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
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 |
Returns | |
---|---|
ScanSettings.Builder |
Throws | |
---|---|
IllegalArgumentException |
if reportDelayMillis < 0 |
setRssiThreshold
public ScanSettings.Builder setRssiThreshold (int rssiThreshold)
Sets the RSSI threshold. When filtering by RSSI threshold, an advertisement will pass the filter only if its RSSI value is greater than or equal to the specified threshold.
Parameters | |
---|---|
rssiThreshold |
int : the high threshold of RSSI value. The valid range is [-127, 126]. |
Returns | |
---|---|
ScanSettings.Builder |
this builder
This value cannot be null . |
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. |
setScanType
public ScanSettings.Builder setScanType (int scanType)
Sets the scan type. Either ScanSettings.SCAN_TYPE_ACTIVE
or ScanSettings.SCAN_TYPE_PASSIVE
can be
set. The default value is ScanSettings.SCAN_TYPE_ACTIVE
.
Parameters | |
---|---|
scanType |
int : Either ScanSettings.SCAN_TYPE_ACTIVE or ScanSettings.SCAN_TYPE_PASSIVE . If scan
type is ScanSettings.SCAN_TYPE_PASSIVE , scan results are delivered immediately upon
receiving an advertising report, without waiting for scan responses.
Value is ScanSettings.SCAN_TYPE_UNKNOWN , ScanSettings.SCAN_TYPE_PASSIVE , or ScanSettings.SCAN_TYPE_ACTIVE |
Returns | |
---|---|
ScanSettings.Builder |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if invalid scan type is given. |