AdvertiseData.Builder


public static final class AdvertiseData.Builder
extends Object

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


Builder for AdvertiseData.

Summary

Public constructors

Builder()

Public methods

AdvertiseData.Builder addManufacturerData(int manufacturerId, byte[] manufacturerSpecificData)

Add manufacturer specific data.

AdvertiseData.Builder addServiceData(ParcelUuid serviceDataUuid, byte[] serviceData)

Add service data to advertise data.

AdvertiseData.Builder addServiceSolicitationUuid(ParcelUuid serviceSolicitationUuid)

Add a service solicitation UUID to advertise data.

AdvertiseData.Builder addServiceUuid(ParcelUuid serviceUuid)

Add a service UUID to advertise data.

AdvertiseData.Builder addTransportDiscoveryData(TransportDiscoveryData transportDiscoveryData)

Add Transport Discovery Data to advertise data.

AdvertiseData build()

Build the AdvertiseData.

AdvertiseData.Builder setIncludeDeviceName(boolean includeDeviceName)

Set whether the device name should be included in advertise packet.

AdvertiseData.Builder setIncludeTxPowerLevel(boolean includeTxPowerLevel)

Whether the transmission power level should be included in the advertise packet.

Inherited methods

Public constructors

Builder

Added in API level 21
public Builder ()

Public methods

addManufacturerData

Added in API level 21
public AdvertiseData.Builder addManufacturerData (int manufacturerId, 
                byte[] manufacturerSpecificData)

Add manufacturer specific data.

Please refer to the Bluetooth Assigned Numbers document provided by the Bluetooth SIG for a list of existing company identifiers.

Parameters
manufacturerId int: Manufacturer ID assigned by Bluetooth SIG.

manufacturerSpecificData byte: Manufacturer specific data

Returns
AdvertiseData.Builder

Throws
IllegalArgumentException If the manufacturerId is negative or manufacturerSpecificData is null.

addServiceData

Added in API level 21
public AdvertiseData.Builder addServiceData (ParcelUuid serviceDataUuid, 
                byte[] serviceData)

Add service data to advertise data.

Parameters
serviceDataUuid ParcelUuid: 16-bit UUID of the service the data is associated with

serviceData byte: Service data

Returns
AdvertiseData.Builder

Throws
IllegalArgumentException If the serviceDataUuid or serviceData is empty.

addServiceSolicitationUuid

Added in API level 31
public AdvertiseData.Builder addServiceSolicitationUuid (ParcelUuid serviceSolicitationUuid)

Add a service solicitation UUID to advertise data.

Parameters
serviceSolicitationUuid ParcelUuid: A service solicitation UUID to be advertised. This value cannot be null.

Returns
AdvertiseData.Builder This value cannot be null.

Throws
IllegalArgumentException If the serviceSolicitationUuid is null.

addServiceUuid

Added in API level 21
public AdvertiseData.Builder addServiceUuid (ParcelUuid serviceUuid)

Add a service UUID to advertise data.

Parameters
serviceUuid ParcelUuid: A service UUID to be advertised.

Returns
AdvertiseData.Builder

Throws
IllegalArgumentException If the serviceUuid is null.

addTransportDiscoveryData

Added in API level 33
public AdvertiseData.Builder addTransportDiscoveryData (TransportDiscoveryData transportDiscoveryData)

Add Transport Discovery Data to advertise data.

Parameters
transportDiscoveryData TransportDiscoveryData: Transport Discovery Data, consisting of one or more Transport Blocks. Transport Discovery Data AD Type Code is already included. This value cannot be null.

Returns
AdvertiseData.Builder This value cannot be null.

Throws
IllegalArgumentException If the transportDiscoveryData is empty

build

Added in API level 21
public AdvertiseData build ()

Build the AdvertiseData.

Returns
AdvertiseData

setIncludeDeviceName

Added in API level 21
public AdvertiseData.Builder setIncludeDeviceName (boolean includeDeviceName)

Set whether the device name should be included in advertise packet.

Parameters
includeDeviceName boolean

Returns
AdvertiseData.Builder

setIncludeTxPowerLevel

Added in API level 21
public AdvertiseData.Builder setIncludeTxPowerLevel (boolean includeTxPowerLevel)

Whether the transmission power level should be included in the advertise packet. Tx power level field takes 3 bytes in advertise packet.

Parameters
includeTxPowerLevel boolean

Returns
AdvertiseData.Builder