public final class ScanRecord
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
int |
getAdvertiseFlags()
Returns the advertising flags indicating the discoverable mode and capability of the device.
|
byte[] |
getBytes()
Returns raw bytes of scan record.
|
java.lang.String |
getDeviceName()
Returns the local name of the BLE device.
|
android.util.SparseArray<byte[]> |
getManufacturerSpecificData()
Returns a sparse array of manufacturer identifier and its corresponding manufacturer specific
data.
|
byte[] |
getManufacturerSpecificData(int manufacturerId)
Returns the manufacturer specific data associated with the manufacturer id.
|
java.util.Map<android.os.ParcelUuid,byte[]> |
getServiceData()
Returns a map of service UUID and its corresponding service data.
|
byte[] |
getServiceData(android.os.ParcelUuid serviceDataUuid)
Returns the service data byte array associated with the
serviceUuid . |
java.util.List<android.os.ParcelUuid> |
getServiceUuids()
Returns a list of service UUIDs within the advertisement that are used to identify the
bluetooth GATT services.
|
int |
getTxPowerLevel()
Returns the transmission power level of the packet in dBm.
|
static ScanRecord |
parseFromBytes(byte[] scanRecord)
Parse scan record bytes to
ScanRecord . |
java.lang.String |
toString() |
public int getAdvertiseFlags()
public java.util.List<android.os.ParcelUuid> getServiceUuids()
public android.util.SparseArray<byte[]> getManufacturerSpecificData()
public byte[] getManufacturerSpecificData(int manufacturerId)
null
if the manufacturerId
is not found.public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData()
public byte[] getServiceData(android.os.ParcelUuid serviceDataUuid)
serviceUuid
. Returns
null
if the serviceDataUuid
is not found.public int getTxPowerLevel()
Integer.MIN_VALUE
if the field is not set. This value can be used to calculate the path loss of a received
packet using the following equation:
pathloss = txPowerLevel - rssi
public java.lang.String getDeviceName()
public byte[] getBytes()
public static ScanRecord parseFromBytes(byte[] scanRecord)
ScanRecord
.
The format is defined in Bluetooth 4.1 specification, Volume 3, Part C, Section 11 and 18.
All numerical multi-byte entities and values shall use little-endian byte order.
scanRecord
- The scan record of Bluetooth LE advertisement and/or scan response.public java.lang.String toString()
toString
in class java.lang.Object