Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
  
  
ScanFilter.Builder
  public
  static
  final
  
  class
  ScanFilter.Builder
  
    extends Object
  
  
  
  
  
  
  
    
  Builder class for ScanFilter.
Summary
| Public methods | 
|---|
  
  
  
    | 
        
        
        
        
        
        ScanFilter | 
      build()
      Build ScanFilter. | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setAdvertisingDataType(int advertisingDataType)
      Set filter on advertising data with specific advertising data type.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setAdvertisingDataTypeWithData(int advertisingDataType, byte[] advertisingData, byte[] advertisingDataMask)
      Set filter on advertising data with specific advertising data type.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setDeviceAddress(String deviceAddress)
      Set a scan filter on the remote device address.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setDeviceName(String deviceName)
      Set filter on device name.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setManufacturerData(int manufacturerId, byte[] manufacturerData, byte[] manufacturerDataMask)
      Set filter on partial manufacture data.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setManufacturerData(int manufacturerId, byte[] manufacturerData)
      Set filter on on manufacturerData.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setServiceData(ParcelUuid serviceDataUuid, byte[] serviceData, byte[] serviceDataMask)
      Set partial filter on service data.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setServiceData(ParcelUuid serviceDataUuid, byte[] serviceData)
      Set filtering 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)
      Set filter on service uuid.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        ScanFilter.Builder | 
      setServiceUuid(ParcelUuid serviceUuid, ParcelUuid uuidMask)
      Set filter on partial service uuid.
        
    
 | 
  
| Inherited methods | 
|---|
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        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
    
public Builder ()
    
    
    
  
 
Public methods
    setAdvertisingDataType
    
public ScanFilter.Builder setAdvertisingDataType (int advertisingDataType)
    
    
    
  Set filter on advertising data with specific advertising data type.
 
The values of advertisingDataType are assigned by Bluetooth SIG. For more
 details refer to Bluetooth Generic Access Profile.
 (https://www.bluetooth.com/specifications/assigned-numbers/)
    
    | Parameters | 
|---|
      
        | advertisingDataType | int: Value isScanRecord.DATA_TYPE_NONE,ScanRecord.DATA_TYPE_FLAGS,ScanRecord.DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL,ScanRecord.DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE,ScanRecord.DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL,ScanRecord.DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE,ScanRecord.DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL,ScanRecord.DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE,ScanRecord.DATA_TYPE_LOCAL_NAME_SHORT,ScanRecord.DATA_TYPE_LOCAL_NAME_COMPLETE,ScanRecord.DATA_TYPE_TX_POWER_LEVEL,ScanRecord.DATA_TYPE_CLASS_OF_DEVICE,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_HASH_C,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R,ScanRecord.DATA_TYPE_DEVICE_ID,ScanRecord.DATA_TYPE_SECURITY_MANAGER_OUT_OF_BAND_FLAGS,ScanRecord.DATA_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE,ScanRecord.DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT,ScanRecord.DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT,ScanRecord.DATA_TYPE_SERVICE_DATA_16_BIT,ScanRecord.DATA_TYPE_PUBLIC_TARGET_ADDRESS,ScanRecord.DATA_TYPE_RANDOM_TARGET_ADDRESS,ScanRecord.DATA_TYPE_APPEARANCE,ScanRecord.DATA_TYPE_ADVERTISING_INTERVAL,ScanRecord.DATA_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS,ScanRecord.DATA_TYPE_LE_ROLE,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_HASH_C_256,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R_256,ScanRecord.DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT,ScanRecord.DATA_TYPE_SERVICE_DATA_32_BIT,ScanRecord.DATA_TYPE_SERVICE_DATA_128_BIT,ScanRecord.DATA_TYPE_LE_SECURE_CONNECTIONS_CONFIRMATION_VALUE,ScanRecord.DATA_TYPE_LE_SECURE_CONNECTIONS_RANDOM_VALUE,ScanRecord.DATA_TYPE_URI,ScanRecord.DATA_TYPE_INDOOR_POSITIONING,ScanRecord.DATA_TYPE_TRANSPORT_DISCOVERY_DATA,ScanRecord.DATA_TYPE_LE_SUPPORTED_FEATURES,ScanRecord.DATA_TYPE_CHANNEL_MAP_UPDATE_INDICATION,ScanRecord.DATA_TYPE_PB_ADV,ScanRecord.DATA_TYPE_MESH_MESSAGE,ScanRecord.DATA_TYPE_MESH_BEACON,ScanRecord.DATA_TYPE_BIG_INFO,ScanRecord.DATA_TYPE_BROADCAST_CODE,ScanRecord.DATA_TYPE_RESOLVABLE_SET_IDENTIFIER,ScanRecord.DATA_TYPE_ADVERTISING_INTERVAL_LONG,ScanRecord.DATA_TYPE_3D_INFORMATION_DATA, orScanRecord.DATA_TYPE_MANUFACTURER_SPECIFIC_DATA | 
    
    
      
  
 
    setAdvertisingDataTypeWithData
    
public ScanFilter.Builder setAdvertisingDataTypeWithData (int advertisingDataType, 
                byte[] advertisingData, 
                byte[] advertisingDataMask)
    
    
    
  Set filter on advertising data with specific advertising data type. For any bit in the
 mask, set it the 1 if it needs to match the one in advertising data, otherwise set it to
 0.
 
The values of advertisingDataType are assigned by Bluetooth SIG. For more
 details refer to Bluetooth Generic Access Profile.
 (https://www.bluetooth.com/specifications/assigned-numbers/) The advertisingDataMask must have the same length of advertisingData.
    
    | Parameters | 
|---|
      
        | advertisingDataType | int: Value isScanRecord.DATA_TYPE_NONE,ScanRecord.DATA_TYPE_FLAGS,ScanRecord.DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL,ScanRecord.DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE,ScanRecord.DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL,ScanRecord.DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE,ScanRecord.DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL,ScanRecord.DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE,ScanRecord.DATA_TYPE_LOCAL_NAME_SHORT,ScanRecord.DATA_TYPE_LOCAL_NAME_COMPLETE,ScanRecord.DATA_TYPE_TX_POWER_LEVEL,ScanRecord.DATA_TYPE_CLASS_OF_DEVICE,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_HASH_C,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R,ScanRecord.DATA_TYPE_DEVICE_ID,ScanRecord.DATA_TYPE_SECURITY_MANAGER_OUT_OF_BAND_FLAGS,ScanRecord.DATA_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE,ScanRecord.DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT,ScanRecord.DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT,ScanRecord.DATA_TYPE_SERVICE_DATA_16_BIT,ScanRecord.DATA_TYPE_PUBLIC_TARGET_ADDRESS,ScanRecord.DATA_TYPE_RANDOM_TARGET_ADDRESS,ScanRecord.DATA_TYPE_APPEARANCE,ScanRecord.DATA_TYPE_ADVERTISING_INTERVAL,ScanRecord.DATA_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS,ScanRecord.DATA_TYPE_LE_ROLE,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_HASH_C_256,ScanRecord.DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R_256,ScanRecord.DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT,ScanRecord.DATA_TYPE_SERVICE_DATA_32_BIT,ScanRecord.DATA_TYPE_SERVICE_DATA_128_BIT,ScanRecord.DATA_TYPE_LE_SECURE_CONNECTIONS_CONFIRMATION_VALUE,ScanRecord.DATA_TYPE_LE_SECURE_CONNECTIONS_RANDOM_VALUE,ScanRecord.DATA_TYPE_URI,ScanRecord.DATA_TYPE_INDOOR_POSITIONING,ScanRecord.DATA_TYPE_TRANSPORT_DISCOVERY_DATA,ScanRecord.DATA_TYPE_LE_SUPPORTED_FEATURES,ScanRecord.DATA_TYPE_CHANNEL_MAP_UPDATE_INDICATION,ScanRecord.DATA_TYPE_PB_ADV,ScanRecord.DATA_TYPE_MESH_MESSAGE,ScanRecord.DATA_TYPE_MESH_BEACON,ScanRecord.DATA_TYPE_BIG_INFO,ScanRecord.DATA_TYPE_BROADCAST_CODE,ScanRecord.DATA_TYPE_RESOLVABLE_SET_IDENTIFIER,ScanRecord.DATA_TYPE_ADVERTISING_INTERVAL_LONG,ScanRecord.DATA_TYPE_3D_INFORMATION_DATA, orScanRecord.DATA_TYPE_MANUFACTURER_SPECIFIC_DATA | 
      
        | advertisingData | byte: This value cannot benull. | 
      
        | advertisingDataMask | byte: This value cannot benull. | 
    
    
      
      | Throws | 
|---|
        
          | IllegalArgumentException | If the advertisingDataTypeis invalid,advertisingDataoradvertisingDataMaskis null oradvertisingDataandadvertisingDataMaskhave different length. | 
      
  
 
    setDeviceName
    
public ScanFilter.Builder setDeviceName (String deviceName)
    
    
    
  Set filter on device name.
    
    | Parameters | 
|---|
      
        | deviceName | String | 
    
    
 
    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 | 
    
    
      
      | Throws | 
|---|
        
          | IllegalArgumentException | If the manufacturerIdis invalid, ormanufacturerDatais null whilemanufacturerDataMaskis not, ormanufacturerDataandmanufacturerDataMaskhave different length. | 
      
  
 
    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 | 
    
    
      
  
 
    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 | 
    
    
      
      | Throws | 
|---|
        
          | IllegalArgumentException | If serviceDataUuidis null orserviceDataMaskisnullwhileserviceDatais not orserviceDataMaskandserviceDatahas different length. | 
      
  
 
    setServiceData
    
public ScanFilter.Builder setServiceData (ParcelUuid serviceDataUuid, 
                byte[] serviceData)
    
    
    
  Set filtering on service data.
    
    | Parameters | 
|---|
      
        | serviceDataUuid | ParcelUuid | 
      
        | serviceData | byte | 
    
    
      
  
 
    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. | 
      
        | solicitationUuidMask | ParcelUuid: can be null or a mask with no restriction. | 
    
    
      
  
 
    setServiceSolicitationUuid
    
public ScanFilter.Builder setServiceSolicitationUuid (ParcelUuid serviceSolicitationUuid)
    
    
    
  Set filter on service solicitation uuid.
    
    | Parameters | 
|---|
      
        | serviceSolicitationUuid | ParcelUuid: This value may benull. | 
    
    
 
    setServiceUuid
    
public ScanFilter.Builder setServiceUuid (ParcelUuid serviceUuid)
    
    
    
  Set filter on service uuid.
    
    | Parameters | 
|---|
      
        | serviceUuid | ParcelUuid | 
    
    
 
    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 | 
    
    
      
  
 
 
 
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-10 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[]]