# DevicePickerLauncher

# DevicePickerLauncher

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/com/google/ambient/crossdevice/discovery/DevicePickerLauncher "View this page in Java")


```
@RequiresApi(value = 26) interface DevicePickerLauncher
```

<br />

*** ** * ** ***

A launcher to start a device discovery and show a dialog chooser to display available devices.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ### Public functions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `suspend `[Unit](https://developer.android.com/reference/kotlin/kotlin/Unit)                                                                                                                      | [launchDevicePicker](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DevicePickerLauncher#launchDevicePicker(kotlin.collections.List,com.google.ambient.crossdevice.wakeup.StartComponentRequest))`(` ` deviceFilters: `[List](https://developer.android.com/reference/kotlin/kotlin/collections/List)`<`[DeviceFilter](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DeviceFilter)`>,` ` startComponentRequest: `[StartComponentRequest](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/wakeup/StartComponentRequest) `)` Launches a dialog chooser for available devices.                                                                                                                                                                                                                                   |
| [ListenableFuture](https://developer.android.com/reference/kotlin/com/google/common/util/concurrent/ListenableFuture)`<`[Void](https://developer.android.com/reference/kotlin/java/lang/Void)`?>` | [launchDevicePickerFuture](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DevicePickerLauncher#launchDevicePickerFuture(kotlin.collections.List,com.google.ambient.crossdevice.wakeup.StartComponentRequest))`(` ` deviceFilters: `[List](https://developer.android.com/reference/kotlin/kotlin/collections/List)`<`[DeviceFilter](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DeviceFilter)`>,` ` startComponentRequest: `[StartComponentRequest](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/wakeup/StartComponentRequest) `)` Java-compatible version of [launchDevicePicker](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DevicePickerLauncher#launchDevicePicker(kotlin.collections.List,com.google.ambient.crossdevice.wakeup.StartComponentRequest)). |

## Public functions

### launchDevicePicker

```
suspend fun launchDevicePicker(
    deviceFilters: List<DeviceFilter>,
    startComponentRequest: StartComponentRequest
): Unit
```

Launches a dialog chooser for available devices.  

|                                                                                                                                                                                                                                                  Parameters                                                                                                                                                                                                                                                   ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `deviceFilters: `[List](https://developer.android.com/reference/kotlin/kotlin/collections/List)`<`[DeviceFilter](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DeviceFilter)`>` | Only devices that pass all filters will be shown to the user. Note: There are currently no [DeviceFilters](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DeviceFilter) supported in this version, so callers must pass in an empty list. |
| `startComponentRequest: `[StartComponentRequest](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/wakeup/StartComponentRequest)                                                              | A request indicating how the caller wants the Android component to be started on the receiving device.                                                                                                                                                                             |

### launchDevicePickerFuture

```
fun launchDevicePickerFuture(
    deviceFilters: List<DeviceFilter>,
    startComponentRequest: StartComponentRequest
): ListenableFuture<Void?>
```

Java-compatible version of [launchDevicePicker](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DevicePickerLauncher#launchDevicePicker(kotlin.collections.List,com.google.ambient.crossdevice.wakeup.StartComponentRequest)).