Android APIs
public static final class

ScanFilter.Builder

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

Class Overview

Builder class for ScanFilter.

Summary

Public Constructors
ScanFilter.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 setServiceUuid(ParcelUuid serviceUuid, ParcelUuid uuidMask)
Set filter on partial service uuid.
ScanFilter.Builder setServiceUuid(ParcelUuid serviceUuid)
Set filter on service uuid.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ScanFilter.Builder ()

Added in API level 21

Public Methods

public ScanFilter build ()

Added in API level 21

Build ScanFilter.

Throws
IllegalArgumentException If the filter cannot be built.

public ScanFilter.Builder setDeviceAddress (String deviceAddress)

Added in API level 21

Set filter on device address.

Parameters
deviceAddress 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 checkBluetoothAddress(String).
Throws
IllegalArgumentException If the deviceAddress is invalid.

public ScanFilter.Builder setDeviceName (String deviceName)

Added in API level 21

Set filter on device name.

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

Added in API level 21

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

Note the first two bytes of the manufacturerData is the manufacturerId.

Throws
IllegalArgumentException If the manufacturerId is invalid.

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

Added in API level 21

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.

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

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

Added in API level 21

Set filtering on service data.

Throws
IllegalArgumentException If serviceDataUuid is null.

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

Added in API level 21

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.

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

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

Added in API level 21

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.

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

public ScanFilter.Builder setServiceUuid (ParcelUuid serviceUuid)

Added in API level 21

Set filter on service uuid.