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

# Builder

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/android/bluetooth/le/AdvertiseSettings.Builder "View this page in Java")

```
class Builder
```

|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||
| ↳ | [android.bluetooth.le.AdvertiseSettings.Builder](https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#) |

Builder class for `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings`.

## Summary

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#Builder()()` <br /> |

| Public methods ||
|---|---|
| [AdvertiseSettings](https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings)! | `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#build()()` Build the `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings` object. |
| [AdvertiseSettings.Builder](https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#)! | `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#setAdvertiseMode(kotlin.Int)(advertiseMode: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Set advertise mode to control the advertising power and latency. |
| [AdvertiseSettings.Builder](https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#)! | `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#setConnectable(kotlin.Boolean)(connectable: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Set whether the advertisement type should be connectable or non-connectable. |
| [AdvertiseSettings.Builder](https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#) | `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#setDiscoverable(kotlin.Boolean)(discoverable: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` Set whether the advertisement type should be discoverable or non-discoverable. |
| [AdvertiseSettings.Builder](https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#)! | `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#setTimeout(kotlin.Int)(timeoutMillis: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Limit advertising to a given amount of time. |
| [AdvertiseSettings.Builder](https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#)! | `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#setTxPowerLevel(kotlin.Int)(txPowerLevel: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Set advertise TX power level to control the transmission power level for the advertising. |

## Public constructors

### Builder

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

```
Builder()
```

## Public methods

### build

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

```
fun build(): AdvertiseSettings!
```

Build the `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings` object.

### setAdvertiseMode

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

```
fun setAdvertiseMode(advertiseMode: Int): AdvertiseSettings.Builder!
```

Set advertise mode to control the advertising power and latency.

| Parameters ||
|---|---|
| `advertiseMode` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): Bluetooth LE Advertising mode, can only be one of `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings#ADVERTISE_MODE_LOW_POWER:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings#ADVERTISE_MODE_BALANCED:kotlin.Int`, or `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings#ADVERTISE_MODE_LOW_LATENCY:kotlin.Int`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | If the advertiseMode is invalid. |

### setConnectable

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

```
fun setConnectable(connectable: Boolean): AdvertiseSettings.Builder!
```

Set whether the advertisement type should be connectable or non-connectable.

| Parameters ||
|---|---|
| `connectable` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): Controls whether the advertisement type will be connectable (true) or non-connectable (false). |

### setDiscoverable

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

```
fun setDiscoverable(discoverable: Boolean): AdvertiseSettings.Builder
```

Set whether the advertisement type should be discoverable or non-discoverable.

| Parameters ||
|---|---|
| `discoverable` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): Controls whether the advertisement type will be discoverable (`true`) or non-discoverable (`false`). |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings.Builder#` | This value cannot be `null`. |

### setTimeout

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

```
fun setTimeout(timeoutMillis: Int): AdvertiseSettings.Builder!
```

Limit advertising to a given amount of time.

| Parameters ||
|---|---|
| `timeoutMillis` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): Advertising time limit. May not exceed 180000 milliseconds. A value of 0 will disable the time limit. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | If the provided timeout is over 180000 ms. |

### setTxPowerLevel

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

```
fun setTxPowerLevel(txPowerLevel: Int): AdvertiseSettings.Builder!
```

Set advertise TX power level to control the transmission power level for the advertising.

| Parameters ||
|---|---|
| `txPowerLevel` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): Transmission power of Bluetooth LE Advertising, can only be one of `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings#ADVERTISE_TX_POWER_ULTRA_LOW:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings#ADVERTISE_TX_POWER_LOW:kotlin.Int`, `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings#ADVERTISE_TX_POWER_MEDIUM:kotlin.Int` or `https://developer.android.com/reference/kotlin/android/bluetooth/le/AdvertiseSettings#ADVERTISE_TX_POWER_HIGH:kotlin.Int`. |

| Exceptions ||
|---|---|
| `java.lang.IllegalArgumentException` | If the `txPowerLevel` is invalid. |