Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#inhmethods)

# BluetoothLeAdvertiser

*** ** * ** ***

` public final class BluetoothLeAdvertiser `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.bluetooth.le.BluetoothLeAdvertiser |

<br />

*** ** * ** ***

This class provides a way to perform Bluetooth LE advertise operations, such as starting and stopping advertising. An advertiser can broadcast up to 31 bytes of advertisement data represented by `https://developer.android.com/reference/android/bluetooth/le/AdvertiseData`.

To get an instance of `https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser`, call the `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getBluetoothLeAdvertiser()` method.
**See also:**

- `https://developer.android.com/reference/android/bluetooth/le/AdvertiseData`

## Summary

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseCallback)(https://developer.android.com/reference/android/bluetooth/le/AdvertiseSettings settings, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData advertiseData, https://developer.android.com/reference/android/bluetooth/le/AdvertiseCallback callback) ` Start Bluetooth LE Advertising. |
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseCallback)(https://developer.android.com/reference/android/bluetooth/le/AdvertiseSettings settings, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData advertiseData, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData scanResponse, https://developer.android.com/reference/android/bluetooth/le/AdvertiseCallback callback) ` Start Bluetooth LE Advertising. |
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.PeriodicAdvertisingParameters,%20android.bluetooth.le.AdvertiseData,%20int,%20int,%20android.bluetooth.le.AdvertisingSetCallback)(https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetParameters parameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData advertiseData, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData scanResponse, https://developer.android.com/reference/android/bluetooth/le/PeriodicAdvertisingParameters periodicParameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData periodicData, int duration, int maxExtendedAdvertisingEvents, https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetCallback callback) ` Creates a new advertising set. |
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.PeriodicAdvertisingParameters,%20android.bluetooth.le.AdvertiseData,%20int,%20int,%20android.bluetooth.le.AdvertisingSetCallback,%20android.os.Handler)(https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetParameters parameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData advertiseData, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData scanResponse, https://developer.android.com/reference/android/bluetooth/le/PeriodicAdvertisingParameters periodicParameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData periodicData, int duration, int maxExtendedAdvertisingEvents, https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetCallback callback, https://developer.android.com/reference/android/os/Handler handler) ` Creates a new advertising set. |
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.PeriodicAdvertisingParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertisingSetCallback)(https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetParameters parameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData advertiseData, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData scanResponse, https://developer.android.com/reference/android/bluetooth/le/PeriodicAdvertisingParameters periodicParameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData periodicData, https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetCallback callback) ` Creates a new advertising set. |
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.PeriodicAdvertisingParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertisingSetCallback,%20android.os.Handler)(https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetParameters parameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData advertiseData, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData scanResponse, https://developer.android.com/reference/android/bluetooth/le/PeriodicAdvertisingParameters periodicParameters, https://developer.android.com/reference/android/bluetooth/le/AdvertiseData periodicData, https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetCallback callback, https://developer.android.com/reference/android/os/Handler handler) ` Creates a new advertising set. |
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#stopAdvertising(android.bluetooth.le.AdvertiseCallback)(https://developer.android.com/reference/android/bluetooth/le/AdvertiseCallback callback) ` Stop Bluetooth LE advertising. |
| ` void` | ` https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback)(https://developer.android.com/reference/android/bluetooth/le/AdvertisingSetCallback callback) ` Used to dispose of a `https://developer.android.com/reference/android/bluetooth/le/AdvertisingSet` object, obtained with `https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.PeriodicAdvertisingParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertisingSetCallback)`. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(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` ` https://developer.android.com/reference/java/lang/Object#wait(long)(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` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public methods

### startAdvertising

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void startAdvertising (AdvertiseSettings settings, 
                AdvertiseData advertiseData, 
                AdvertiseCallback callback)
```

Start Bluetooth LE Advertising. On success, the `advertiseData` will be broadcasted. Returns immediately, the operation status is delivered through `callback`.

Requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_PRIVILEGED` permission only when `settings.getOwnAddressType()` is different from `AdvertisingSetParameters.ADDRESS_TYPE_DEFAULT`.

The `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission is always enforced.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.

<br />

| Parameters ||
|---|---|
| `settings` | `AdvertiseSettings`: Settings for Bluetooth LE advertising. <br /> |
| `advertiseData` | `AdvertiseData`: Advertisement data to be broadcasted. <br /> |
| `callback` | `AdvertiseCallback`: Callback for advertising status. <br /> |

### startAdvertising

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void startAdvertising (AdvertiseSettings settings, 
                AdvertiseData advertiseData, 
                AdvertiseData scanResponse, 
                AdvertiseCallback callback)
```

Start Bluetooth LE Advertising. The `advertiseData` will be broadcasted if the operation succeeds. The `scanResponse` is returned when a scanning device sends an active scan request. This method returns immediately, the operation status is delivered through `callback`.

Requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_PRIVILEGED` permission only when `settings.getOwnAddressType()` is different from `AdvertisingSetParameters.ADDRESS_TYPE_DEFAULT`.

The `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission is always enforced.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.

<br />

| Parameters ||
|---|---|
| `settings` | `AdvertiseSettings`: Settings for Bluetooth LE advertising. <br /> |
| `advertiseData` | `AdvertiseData`: Advertisement data to be advertised in advertisement packet. <br /> |
| `scanResponse` | `AdvertiseData`: Scan response associated with the advertisement data. <br /> |
| `callback` | `AdvertiseCallback`: Callback for advertising status. <br /> |

### startAdvertisingSet

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void startAdvertisingSet (AdvertisingSetParameters parameters, 
                AdvertiseData advertiseData, 
                AdvertiseData scanResponse, 
                PeriodicAdvertisingParameters periodicParameters, 
                AdvertiseData periodicData, 
                int duration, 
                int maxExtendedAdvertisingEvents, 
                AdvertisingSetCallback callback)
```

Creates a new advertising set. If operation succeed, device will start advertising. This method returns immediately, the operation status is delivered through `callback.onAdvertisingSetStarted()`.

Requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_PRIVILEGED` permission when `parameters.getOwnAddressType()` is different from `AdvertisingSetParameters.ADDRESS_TYPE_DEFAULT` or `parameters.isDirected()` is true.

The `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission is always enforced.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.

<br />

| Parameters ||
|---|---|
| `parameters` | `AdvertisingSetParameters`: advertising set parameters. <br /> |
| `advertiseData` | `AdvertiseData`: Advertisement data to be broadcasted. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. If the advertisement is connectable, three bytes will be added for flags. <br /> |
| `scanResponse` | `AdvertiseData`: Scan response associated with the advertisement data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. <br /> |
| `periodicParameters` | `PeriodicAdvertisingParameters`: periodic advertising parameters. If null, periodic advertising will not be started. <br /> |
| `periodicData` | `AdvertiseData`: Periodic advertising data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. <br /> |
| `duration` | `int`: advertising duration, in 10ms unit. Valid range is from 1 (10ms) to 65535 (655,350 ms). 0 means advertising should continue until stopped. <br /> |
| `maxExtendedAdvertisingEvents` | `int`: maximum number of extended advertising events the controller shall attempt to send prior to terminating the extended advertising, even if the duration has not expired. Valid range is from 1 to 255. 0 means no maximum. <br /> |
| `callback` | `AdvertisingSetCallback`: Callback for advertising set. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | when any of the data parameter exceed the maximum allowable size, or unsupported advertising PHY is selected, or when attempt to use Periodic Advertising feature is made when it's not supported by the controller. |

### startAdvertisingSet

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void startAdvertisingSet (AdvertisingSetParameters parameters, 
                AdvertiseData advertiseData, 
                AdvertiseData scanResponse, 
                PeriodicAdvertisingParameters periodicParameters, 
                AdvertiseData periodicData, 
                int duration, 
                int maxExtendedAdvertisingEvents, 
                AdvertisingSetCallback callback, 
                Handler handler)
```

Creates a new advertising set. If operation succeed, device will start advertising. This method returns immediately, the operation status is delivered through `callback.onAdvertisingSetStarted()`.

Requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_PRIVILEGED` permission when `parameters.getOwnAddressType()` is different from `AdvertisingSetParameters.ADDRESS_TYPE_DEFAULT` or `parameters.isDirected()` is true.

The `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission is always enforced.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.

<br />

| Parameters ||
|---|---|
| `parameters` | `AdvertisingSetParameters`: Advertising set parameters. <br /> |
| `advertiseData` | `AdvertiseData`: Advertisement data to be broadcasted. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. If the advertisement is connectable, three bytes will be added for flags. <br /> |
| `scanResponse` | `AdvertiseData`: Scan response associated with the advertisement data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()` <br /> |
| `periodicParameters` | `PeriodicAdvertisingParameters`: Periodic advertising parameters. If null, periodic advertising will not be started. <br /> |
| `periodicData` | `AdvertiseData`: Periodic advertising data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()` <br /> |
| `duration` | `int`: advertising duration, in 10ms unit. Valid range is from 1 (10ms) to 65535 (655,350 ms). 0 means advertising should continue until stopped. <br /> |
| `maxExtendedAdvertisingEvents` | `int`: maximum number of extended advertising events the controller shall attempt to send prior to terminating the extended advertising, even if the duration has not expired. Valid range is from 1 to 255. 0 means no maximum. <br /> |
| `callback` | `AdvertisingSetCallback`: Callback for advertising set. <br /> |
| `handler` | `Handler`: Thread upon which the callbacks will be invoked. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | When any of the data parameter exceed the maximum allowable size, or unsupported advertising PHY is selected, or when attempt to use Periodic Advertising feature is made when it's not supported by the controller, or when maxExtendedAdvertisingEvents is used on a controller that doesn't support the LE Extended Advertising |

### startAdvertisingSet

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void startAdvertisingSet (AdvertisingSetParameters parameters, 
                AdvertiseData advertiseData, 
                AdvertiseData scanResponse, 
                PeriodicAdvertisingParameters periodicParameters, 
                AdvertiseData periodicData, 
                AdvertisingSetCallback callback)
```

Creates a new advertising set. If operation succeed, device will start advertising. This method returns immediately, the operation status is delivered through `callback.onAdvertisingSetStarted()`.

Requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_PRIVILEGED` permission when `parameters.getOwnAddressType()` is different from `AdvertisingSetParameters.ADDRESS_TYPE_DEFAULT` or `parameters.isDirected()` is true.

The `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission is always enforced.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.

<br />

| Parameters ||
|---|---|
| `parameters` | `AdvertisingSetParameters`: advertising set parameters. <br /> |
| `advertiseData` | `AdvertiseData`: Advertisement data to be broadcasted. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. If the advertisement is connectable, three bytes will be added for flags. <br /> |
| `scanResponse` | `AdvertiseData`: Scan response associated with the advertisement data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. <br /> |
| `periodicParameters` | `PeriodicAdvertisingParameters`: periodic advertising parameters. If null, periodic advertising will not be started. <br /> |
| `periodicData` | `AdvertiseData`: Periodic advertising data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. <br /> |
| `callback` | `AdvertisingSetCallback`: Callback for advertising set. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | when any of the data parameter exceed the maximum allowable size, or unsupported advertising PHY is selected, or when attempt to use Periodic Advertising feature is made when it's not supported by the controller. |

### startAdvertisingSet

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void startAdvertisingSet (AdvertisingSetParameters parameters, 
                AdvertiseData advertiseData, 
                AdvertiseData scanResponse, 
                PeriodicAdvertisingParameters periodicParameters, 
                AdvertiseData periodicData, 
                AdvertisingSetCallback callback, 
                Handler handler)
```

Creates a new advertising set. If operation succeed, device will start advertising. This method returns immediately, the operation status is delivered through `callback.onAdvertisingSetStarted()`.

Requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_PRIVILEGED` permission when `parameters.getOwnAddressType()` is different from `AdvertisingSetParameters.ADDRESS_TYPE_DEFAULT` or `parameters.isDirected()` is true.

The `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission is always enforced.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.

<br />

| Parameters ||
|---|---|
| `parameters` | `AdvertisingSetParameters`: advertising set parameters. <br /> |
| `advertiseData` | `AdvertiseData`: Advertisement data to be broadcasted. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. If the advertisement is connectable, three bytes will be added for flags. <br /> |
| `scanResponse` | `AdvertiseData`: Scan response associated with the advertisement data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. <br /> |
| `periodicParameters` | `PeriodicAdvertisingParameters`: periodic advertising parameters. If null, periodic advertising will not be started. <br /> |
| `periodicData` | `AdvertiseData`: Periodic advertising data. Size must not exceed `https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getLeMaximumAdvertisingDataLength()`. <br /> |
| `callback` | `AdvertisingSetCallback`: Callback for advertising set. <br /> |
| `handler` | `Handler`: thread upon which the callbacks will be invoked. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | when any of the data parameter exceed the maximum allowable size, or unsupported advertising PHY is selected, or when attempt to use Periodic Advertising feature is made when it's not supported by the controller. |

### stopAdvertising

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void stopAdvertising (AdvertiseCallback callback)
```

Stop Bluetooth LE advertising. The `callback` must be the same one use in `https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseCallback)`.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.   

Requires `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE`

<br />

| Parameters ||
|---|---|
| `callback` | `AdvertiseCallback`: `https://developer.android.com/reference/android/bluetooth/le/AdvertiseCallback` identifies the advertising instance to stop. <br /> |

### stopAdvertisingSet

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void stopAdvertisingSet (AdvertisingSetCallback callback)
```

Used to dispose of a `https://developer.android.com/reference/android/bluetooth/le/AdvertisingSet` object, obtained with `https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser#startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.PeriodicAdvertisingParameters,%20android.bluetooth.le.AdvertiseData,%20android.bluetooth.le.AdvertisingSetCallback)`.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R` or lower, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN` permission which can be gained with a simple `<uses-permission>` manifest tag.   

For apps targeting `https://developer.android.com/reference/android/os/Build.VERSION_CODES#S` or or higher, this requires the `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE` permission which can be gained with `https://developer.android.com/reference/android/app/Activity#requestPermissions(java.lang.String[],%20int)`.   

Requires `https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADVERTISE`

<br />

| Parameters ||
|---|---|
| `callback` | `AdvertisingSetCallback` <br /> |