Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest#nestedclasses) \| [Ctors](https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest#pubctors) \| [Methods](https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest#inhmethods)

# VoiceInteractor.PickOptionRequest

*** ** * ** ***

` public static class VoiceInteractor.PickOptionRequest `   
` ` ` extends https://developer.android.com/reference/android/app/VoiceInteractor.Request ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.app.VoiceInteractor.Request](https://developer.android.com/reference/android/app/VoiceInteractor.Request) ||
|   | ↳ | android.app.VoiceInteractor.PickOptionRequest |

<br />

*** ** * ** ***

Select a single option from multiple potential options with the user via the trusted system VoiceInteractionService. Typically, the application would present this visually as a list view to allow selecting the option by touch. The result of the confirmation will be returned through an asynchronous call to either `https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest#onPickOptionResult(boolean,%20android.app.VoiceInteractor.PickOptionRequest.Option[],%20android.os.Bundle)` or `https://developer.android.com/reference/android/app/VoiceInteractor.Request#onCancel()` - these methods should be overridden to define the application specific behavior.

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest.Option` Represents a single option that the user may select using their voice. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest#PickOptionRequest(android.app.VoiceInteractor.Prompt,%20android.app.VoiceInteractor.PickOptionRequest.Option[],%20android.os.Bundle)(https://developer.android.com/reference/android/app/VoiceInteractor.Prompt prompt, https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest.Option options, https://developer.android.com/reference/android/os/Bundle extras) ` Create a new pick option request. |

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest#onPickOptionResult(boolean,%20android.app.VoiceInteractor.PickOptionRequest.Option[],%20android.os.Bundle)(boolean finished, https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest.Option selections, https://developer.android.com/reference/android/os/Bundle result) ` Called when a single option is confirmed or narrowed to one of several options. |

### Inherited methods

From class ` https://developer.android.com/reference/android/app/VoiceInteractor.Request ` ` void` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#cancel()() `

Cancel this active request.
` https://developer.android.com/reference/android/app/Activity` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#getActivity()() `

Return the current `https://developer.android.com/reference/android/app/Activity` this request is associated with.
` https://developer.android.com/reference/android/content/Context` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#getContext()() `

Return the current `https://developer.android.com/reference/android/content/Context` this request is associated with.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#getName()() `

Return the name this request was submitted through `https://developer.android.com/reference/android/app/VoiceInteractor#submitRequest(android.app.VoiceInteractor.Request,%20java.lang.String)`.
` void` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#onAttached(android.app.Activity)(https://developer.android.com/reference/android/app/Activity activity) `

The request is now attached to an activity, or being re-attached to a new activity after a configuration change.
` void` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#onCancel()() `

Report from voice interaction service: this operation has been canceled, typically as a completion of a previous call to `https://developer.android.com/reference/android/app/VoiceInteractor.Request#cancel()` or when the user explicitly cancelled.
` void` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#onDetached()() `

The request is being detached from an activity.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/android/app/VoiceInteractor.Request#toString()() `

Returns a string representation of the object.
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 constructors

### PickOptionRequest

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

```
public PickOptionRequest (VoiceInteractor.Prompt prompt, 
                Option[] options, 
                Bundle extras)
```

Create a new pick option request.

<br />

| Parameters ||
|---|---|
| `prompt` | `VoiceInteractor.Prompt`: Optional question to be asked of the user when the options are presented or null if nothing should be asked. <br /> |
| `options` | `Option`: The set of `https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest.Option`s the user is selecting from. <br /> |
| `extras` | `Bundle`: Additional optional information or null. <br /> |

## Public methods

### onPickOptionResult

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

```
public void onPickOptionResult (boolean finished, 
                Option[] selections, 
                Bundle result)
```

Called when a single option is confirmed or narrowed to one of several options. Override this method to define the behavior when the user selects an option or narrows down the set of options.

<br />

| Parameters ||
|---|---|
| `finished` | `boolean`: True if the voice interaction has finished making a selection, in which case `selections` contains the final result. If false, this request is still active and you will continue to get calls on it. <br /> |
| `selections` | `Option`: Either a single `https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest.Option` or one of several `https://developer.android.com/reference/android/app/VoiceInteractor.PickOptionRequest.Option`s the user has narrowed the choices down to. <br /> |
| `result` | `Bundle`: Additional optional information. <br /> |