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

# Builder

*** ** * ** ***

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

```
class Builder
```

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

A builder for `https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest`

## Summary

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

| Public methods ||
|---|---|
| [ObservingDevicePresenceRequest](https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest) | `https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest.Builder#build()()` <br /> |
| [ObservingDevicePresenceRequest.Builder](https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest.Builder#) | `https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest.Builder#setAssociationId(kotlin.Int)(associationId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` Set the association id to be observed for device presence. |
| [ObservingDevicePresenceRequest.Builder](https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest.Builder#) | `https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest.Builder#setUuid(android.os.ParcelUuid)(uuid: https://developer.android.com/reference/kotlin/android/os/ParcelUuid.html#)` Set the ParcelUuid to be observed for device presence. |

## Public constructors

### Builder

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

```
Builder()
```

## Public methods

### build

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

```
fun build(): ObservingDevicePresenceRequest
```

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest` | This value cannot be `null`. |

### setAssociationId

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

```
fun setAssociationId(associationId: Int): ObservingDevicePresenceRequest.Builder
```

Set the association id to be observed for device presence.

The provided device must be android.companion.CompanionDeviceManager#associate with the calling app before calling this method if using this API. Caller must implement a single `https://developer.android.com/reference/kotlin/android/companion/CompanionDeviceService` which will be bound to and receive callbacks to `https://developer.android.com/reference/kotlin/android/companion/CompanionDeviceService#onDevicePresenceEvent(android.companion.DevicePresenceEvent)`.

Calling apps must use either `https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest.Builder#setUuid(android.os.ParcelUuid)` or this API, but not both.

| Parameters ||
|---|---|
| `associationId` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): The association id for observing device presence. |

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

### setUuid

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

```
fun setUuid(uuid: ParcelUuid): ObservingDevicePresenceRequest.Builder
```

Set the ParcelUuid to be observed for device presence.

It does not require to create the association before calling this API. This only supports classic Bluetooth scan and caller must implement a single `https://developer.android.com/reference/kotlin/android/companion/CompanionDeviceService` which will be bound to and receive callbacks to `https://developer.android.com/reference/kotlin/android/companion/CompanionDeviceService#onDevicePresenceEvent(android.companion.DevicePresenceEvent)`.

The Uuid should be matching one of the ParcelUuid form `https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothDevice.html#getUuids()`

Calling apps must use either this API or `https://developer.android.com/reference/kotlin/android/companion/ObservingDevicePresenceRequest.Builder#setAssociationId(kotlin.Int)`, but not both.

Calling app must hold the `https://developer.android.com/reference/kotlin/android/companion/AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION:kotlin.String` profile.
.   
Requires `https://developer.android.com/reference/kotlin/android/Manifest.permission.html#REQUEST_OBSERVE_DEVICE_UUID_PRESENCE:kotlin.String` and `https://developer.android.com/reference/kotlin/android/Manifest.permission.html#BLUETOOTH_CONNECT:kotlin.String` and `https://developer.android.com/reference/kotlin/android/Manifest.permission.html#BLUETOOTH_SCAN:kotlin.String`

| Parameters ||
|---|---|
| `uuid` | [ParcelUuid](https://developer.android.com/reference/kotlin/android/os/ParcelUuid.html#): The ParcelUuid for observing device presence. This value cannot be `null`. |

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