Android APIs
public final class

ScanFilter

extends Object
implements Parcelable
java.lang.Object
   ↳ android.bluetooth.le.ScanFilter

Class Overview

ScanFilter abstracts different scan filters across Bluetooth Advertisement packet fields.

Current filtering on the following fields are supported:

  • Service UUIDs which identify the bluetooth gatt services running on the device.
  • Name of remote Bluetooth LE device.
  • Mac address of the remote device.
  • Rssi which indicates the received power level.
  • Service data which is the data associated with a service.
  • Manufacturer specific data which is the data associated with a particular manufacturer.

  • Summary

    Nested Classes
    class ScanFilter.Builder Builder class for ScanFilter
    [Expand]
    Inherited Constants
    From interface android.os.Parcelable
    Fields
    public static final Creator<ScanFilter> CREATOR A Parcelable.Creator to create ScanFilter form parcel.
    Public Methods
    int describeContents()
    Describe the kinds of special objects contained in this Parcelable's marshalled representation.
    boolean equals(Object obj)
    Compares this instance with the specified object and indicates if they are equal.
    String getDeviceAddress()
    String getLocalName()
    Returns the filter set the local name field of Bluetooth advertisement data.
    byte[] getManufacturerData()
    byte[] getManufacturerDataMask()
    int getManufacturerId()
    Returns the manufacturer id.
    int getMaxRssi()
    Returns maximum value of the rssi for the scan filter.
    int getMinRssi()
    Returns minimum value of rssi for the scan filter.
    byte[] getServiceData()
    byte[] getServiceDataMask()
    ParcelUuid getServiceUuid()
    Returns the filter set on the service uuid.
    ParcelUuid getServiceUuidMask()
    int hashCode()
    Returns an integer hash code for this object.
    boolean matches(ScanResult scanResult)
    Check if the scan filter matches a scanResult.
    String toString()
    Returns a string containing a concise, human-readable description of this object.
    void writeToParcel(Parcel dest, int flags)
    Flatten this object in to a Parcel.
    [Expand]
    Inherited Methods
    From class java.lang.Object
    From interface android.os.Parcelable

    Fields

    public static final Creator<ScanFilter> CREATOR

    A Parcelable.Creator to create ScanFilter form parcel.

    Public Methods

    public int describeContents ()

    Describe the kinds of special objects contained in this Parcelable's marshalled representation.

    Returns
    • a bitmask indicating the set of special object types marshalled by the Parcelable.

    public boolean equals (Object obj)

    Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

    The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

    The general contract for the equals and hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

    Parameters
    obj the object to compare this instance with.
    Returns
    • true if the specified object is equal to this Object; false otherwise.

    public String getDeviceAddress ()

    public String getLocalName ()

    Returns the filter set the local name field of Bluetooth advertisement data.

    public byte[] getManufacturerData ()

    public byte[] getManufacturerDataMask ()

    public int getManufacturerId ()

    Returns the manufacturer id. -1 if the manufacturer filter is not set.

    public int getMaxRssi ()

    Returns maximum value of the rssi for the scan filter. MAX_VALUE if not set.

    public int getMinRssi ()

    Returns minimum value of rssi for the scan filter. MIN_VALUE if not set.

    public byte[] getServiceData ()

    public byte[] getServiceDataMask ()

    public ParcelUuid getServiceUuid ()

    Returns the filter set on the service uuid.

    public ParcelUuid getServiceUuidMask ()

    public int hashCode ()

    Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

    Note that hash values must not change over time unless information used in equals comparisons also changes.

    See Writing a correct hashCode method if you intend implementing your own hashCode method.

    Returns
    • this object's hash code.

    public boolean matches (ScanResult scanResult)

    Check if the scan filter matches a scanResult. A scan result is considered as a match if it matches all the field filters.

    public String toString ()

    Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

       getClass().getName() + '@' + Integer.toHexString(hashCode())

    See Writing a useful toString method if you intend implementing your own toString method.

    Returns
    • a printable representation of this object.

    public void writeToParcel (Parcel dest, int flags)

    Flatten this object in to a Parcel.

    Parameters
    dest The Parcel in which the object should be written.
    flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.