# DevicePickerLauncher

# DevicePickerLauncher

*** ** * ** ***

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

<br />

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

<br />

*** ** * ** ***

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

## Summary

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

## Public methods

### launchDevicePicker

```
abstract void launchDevicePicker(
    @NonNull List<@NonNull DeviceFilter> deviceFilters,
    @NonNull StartComponentRequest startComponentRequest
)
```

Launches a dialog chooser for available devices.  

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

### launchDevicePickerFuture

```
abstract @NonNull ListenableFuture<Void> launchDevicePickerFuture(
    @NonNull List<@NonNull DeviceFilter> deviceFilters,
    @NonNull StartComponentRequest startComponentRequest
)
```

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