# Print output for @column tags ?> ScanFilter.Builder - Android SDK | Android Developers

Most visited

Recently visited

ScanFilter.Builder

public static final class ScanFilter.Builder
extends Object

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


Builder class for ScanFilter.

Summary

Public constructors

Builder()

Public methods

ScanFilter build()

Build ScanFilter.

ScanFilter.Builder setDeviceAddress(String deviceAddress)

Set filter on device address.

ScanFilter.Builder setDeviceName(String deviceName)

Set filter on device name.

ScanFilter.Builder setManufacturerData(int manufacturerId, byte[] manufacturerData)

Set filter on on manufacturerData.

ScanFilter.Builder setManufacturerData(int manufacturerId, byte[] manufacturerData, byte[] manufacturerDataMask)

Set filter on partial manufacture data.

ScanFilter.Builder setServiceData(ParcelUuid serviceDataUuid, byte[] serviceData)

Set filtering on service data.

ScanFilter.Builder setServiceData(ParcelUuid serviceDataUuid, byte[] serviceData, byte[] serviceDataMask)

Set partial filter on service data.

ScanFilter.Builder setServiceSolicitationUuid(ParcelUuid serviceSolicitationUuid, ParcelUuid solicitationUuidMask)

Set filter on partial service Solicitation uuid.

ScanFilter.Builder setServiceSolicitationUuid(ParcelUuid serviceSolicitationUuid)

Set filter on service solicitation uuid.

ScanFilter.Builder setServiceUuid(ParcelUuid serviceUuid, ParcelUuid uuidMask)

Set filter on partial service uuid.

ScanFilter.Builder setServiceUuid(ParcelUuid serviceUuid)

Set filter on service uuid.

Inherited methods

Public constructors

Builder

public Builder ()

Public methods

build

public ScanFilter build ()

Build ScanFilter.

Returns
ScanFilter

Throws
IllegalArgumentException If the filter cannot be built.

setDeviceAddress

public ScanFilter.Builder setDeviceAddress (String deviceAddress)

Set filter on device address.

Parameters
deviceAddress String: The device Bluetooth address for the filter. It needs to be in the format of "01:02:03:AB:CD:EF". The device address can be validated using BluetoothAdapter.checkBluetoothAddress(String). The @AddressType is defaulted to BluetoothDevice.ADDRESS_TYPE_PUBLIC

Returns
ScanFilter.Builder

Throws
IllegalArgumentException If the deviceAddress is invalid.

setDeviceName

public ScanFilter.Builder setDeviceName (String deviceName)

Set filter on device name.

Parameters
deviceName String

Returns
ScanFilter.Builder

setManufacturerData

public ScanFilter.Builder setManufacturerData (int manufacturerId, 
                byte[] manufacturerData)

Set filter on on manufacturerData. A negative manufacturerId is considered as invalid id.

Parameters
manufacturerId int

manufacturerData byte

Returns
ScanFilter.Builder

Throws
IllegalArgumentException If the manufacturerId is invalid.

setManufacturerData

public ScanFilter.Builder setManufacturerData (int manufacturerId, 
                byte[] manufacturerData, 
                byte[] manufacturerDataMask)

Set filter on partial manufacture data. For any bit in the mask, set it the 1 if it needs to match the one in manufacturer data, otherwise set it to 0.

The manufacturerDataMask must have the same length of manufacturerData.

Parameters
manufacturerId int

manufacturerData byte

manufacturerDataMask byte

Returns
ScanFilter.Builder

Throws
IllegalArgumentException If the manufacturerId is invalid, or manufacturerData is null while manufacturerDataMask is not, or manufacturerData and manufacturerDataMask have different length.

setServiceData

public ScanFilter.Builder setServiceData (ParcelUuid serviceDataUuid, 
                byte[] serviceData)

Set filtering on service data.

Parameters
serviceDataUuid ParcelUuid

serviceData byte

Returns
ScanFilter.Builder

Throws
IllegalArgumentException If serviceDataUuid is null.

setServiceData

public ScanFilter.Builder setServiceData (ParcelUuid serviceDataUuid, 
                byte[] serviceData, 
                byte[] serviceDataMask)

Set partial filter on service data. For any bit in the mask, set it to 1 if it needs to match the one in service data, otherwise set it to 0 to ignore that bit.

The serviceDataMask must have the same length of the serviceData.

Parameters
serviceDataUuid ParcelUuid

serviceData byte

serviceDataMask byte

Returns
ScanFilter.Builder

Throws
IllegalArgumentException If serviceDataUuid is null or serviceDataMask is null while serviceData is not or serviceDataMask and serviceData has different length.

setServiceSolicitationUuid

public ScanFilter.Builder setServiceSolicitationUuid (ParcelUuid serviceSolicitationUuid, 
                ParcelUuid solicitationUuidMask)

Set filter on partial service Solicitation uuid. The SolicitationUuidMask is the bit mask for the serviceSolicitationUuid. Set any bit in the mask to 1 to indicate a match is needed for the bit in serviceSolicitationUuid, and 0 to ignore that bit.

Parameters
serviceSolicitationUuid ParcelUuid: can only be null if solicitationUuidMask is null. This value may be null.

solicitationUuidMask ParcelUuid: can be null or a mask with no restriction. This value may be null.

Returns
ScanFilter.Builder

Throws
IllegalArgumentException If serviceSolicitationUuid is null but serviceSolicitationUuidMask is not null.

setServiceSolicitationUuid

public ScanFilter.Builder setServiceSolicitationUuid (ParcelUuid serviceSolicitationUuid)

Set filter on service solicitation uuid.

Parameters
serviceSolicitationUuid ParcelUuid: This value may be null.

Returns
ScanFilter.Builder This value cannot be null.

setServiceUuid

public ScanFilter.Builder setServiceUuid (ParcelUuid serviceUuid, 
                ParcelUuid uuidMask)

Set filter on partial service uuid. The uuidMask is the bit mask for the serviceUuid. Set any bit in the mask to 1 to indicate a match is needed for the bit in serviceUuid, and 0 to ignore that bit.

Parameters
serviceUuid ParcelUuid

uuidMask ParcelUuid

Returns
ScanFilter.Builder

Throws
IllegalArgumentException If serviceUuid is null but uuidMask is not null.

setServiceUuid

public ScanFilter.Builder setServiceUuid (ParcelUuid serviceUuid)

Set filter on service uuid.

Parameters
serviceUuid ParcelUuid

Returns
ScanFilter.Builder