VoiceInteractor
public
final
class
VoiceInteractor
extends Object
java.lang.Object | |
↳ | android.app.VoiceInteractor |
Interface for an Activity
to interact with the user through voice. Use
Activity.getVoiceInteractor
to retrieve the interface, if the activity is currently involved in a voice interaction.
The voice interactor revolves around submitting voice interaction requests to the
back-end voice interaction service that is working with the user. These requests are
submitted with submitRequest(Request)
, providing a new instance of a
Request
subclass describing the type of operation to perform -- currently the
possible requests are ConfirmationRequest
and CommandRequest
.
Once a request is submitted, the voice system will process it and eventually deliver the result to the request object. The application can cancel a pending request at any time.
The VoiceInteractor is integrated with Activity's state saving mechanism, so that
if an activity is being restarted with retained state, it will retain the current
VoiceInteractor and any outstanding requests. Because of this, you should always use
Request.getActivity
to get back to the activity of a
request, rather than holding on to the activity instance yourself, either explicitly
or implicitly through a non-static inner class.
Summary
Nested classes | |
---|---|
class |
VoiceInteractor.AbortVoiceRequest
Reports that the current interaction can not be complete with voice, so the application will need to switch to a traditional input UI. |
class |
VoiceInteractor.CommandRequest
Execute a vendor-specific command using the trusted system VoiceInteractionService. |
class |
VoiceInteractor.CompleteVoiceRequest
Reports that the current interaction was successfully completed with voice, so the application can report the final status to the user. |
class |
VoiceInteractor.ConfirmationRequest
Confirms an operation with the user via the trusted system VoiceInteractionService. |
class |
VoiceInteractor.PickOptionRequest
Select a single option from multiple potential options with the user via the trusted system VoiceInteractionService. |
class |
VoiceInteractor.Prompt
A set of voice prompts to use with the voice interaction system to confirm an action, select an option, or do similar operations. |
class |
VoiceInteractor.Request
Base class for voice interaction requests that can be submitted to the interactor. |
Public methods | |
---|---|
VoiceInteractor.Request
|
getActiveRequest(String name)
Return any currently active request that was submitted with the given name. |
Request[]
|
getActiveRequests()
Return all currently active requests. |
String
|
getPackageName()
|
boolean
|
isDestroyed()
|
void
|
notifyDirectActionsChanged()
Notifies the assist framework that the direct actions supported by the app changed. |
boolean
|
registerOnDestroyedCallback(Executor executor, Runnable callback)
Registers a callback to be called when the VoiceInteractor is destroyed. |
boolean
|
submitRequest(VoiceInteractor.Request request)
|
boolean
|
submitRequest(VoiceInteractor.Request request, String name)
Submit a new |
boolean[]
|
supportsCommands(String[] commands)
Queries the supported commands available from the VoiceInteractionService. |
boolean
|
unregisterOnDestroyedCallback(Runnable callback)
Unregisters a previously registered onDestroy callback |
Inherited methods | |
---|---|
Public methods
getActiveRequest
public VoiceInteractor.Request getActiveRequest (String name)
Return any currently active request that was submitted with the given name.
Parameters | |
---|---|
name |
String : The name used to submit the request, as per
submitRequest(android.app.VoiceInteractor.Request, java.lang.String) . |
Returns | |
---|---|
VoiceInteractor.Request |
Returns the active request with that name, or null if there was none. |
getActiveRequests
public Request[] getActiveRequests ()
Return all currently active requests.
Returns | |
---|---|
Request[] |
getPackageName
public String getPackageName ()
Returns | |
---|---|
String |
the package name of the service providing the VoiceInteractionService.
This value cannot be null . |
isDestroyed
public boolean isDestroyed ()
Returns | |
---|---|
boolean |
whether the voice interactor is destroyed. You should not interact with a destroyed voice interactor. |
notifyDirectActionsChanged
public void notifyDirectActionsChanged ()
Notifies the assist framework that the direct actions supported by the app changed.
registerOnDestroyedCallback
public boolean registerOnDestroyedCallback (Executor executor, Runnable callback)
Registers a callback to be called when the VoiceInteractor is destroyed.
Parameters | |
---|---|
executor |
Executor : Executor on which to run the callback.
This value cannot be null .
Callback and listener events are dispatched through this
Executor , providing an easy way to control which thread is
used. To dispatch events through the main thread of your
application, you can use
Context.getMainExecutor() .
Otherwise, provide an Executor that dispatches to an appropriate thread. |
callback |
Runnable : The callback to run.
This value cannot be null . |
Returns | |
---|---|
boolean |
whether the callback was registered. |
submitRequest
public boolean submitRequest (VoiceInteractor.Request request)
Parameters | |
---|---|
request |
VoiceInteractor.Request |
Returns | |
---|---|
boolean |
submitRequest
public boolean submitRequest (VoiceInteractor.Request request, String name)
Submit a new Request
to the voice interaction service. The request must be
one of the available subclasses -- ConfirmationRequest
, PickOptionRequest
,
CompleteVoiceRequest
, AbortVoiceRequest
, or CommandRequest
.
Parameters | |
---|---|
request |
VoiceInteractor.Request : The desired request to submit. |
name |
String : An optional name for this request, or null. This can be used later with
getActiveRequests() and getActiveRequest(String) to find the request. |
Returns | |
---|---|
boolean |
Returns true of the request was successfully submitted, else false. |
supportsCommands
public boolean[] supportsCommands (String[] commands)
Queries the supported commands available from the VoiceInteractionService. The command is a string that describes the generic operation to be performed. An example might be "org.example.commands.PICK_DATE" to ask the user to pick a date. (Note: This is not an actual working example.)
Parameters | |
---|---|
commands |
String : The array of commands to query for support. |
Returns | |
---|---|
boolean[] |
Array of booleans indicating whether each command is supported or not. |
unregisterOnDestroyedCallback
public boolean unregisterOnDestroyedCallback (Runnable callback)
Unregisters a previously registered onDestroy callback
Parameters | |
---|---|
callback |
Runnable : The callback to remove.
This value cannot be null . |
Returns | |
---|---|
boolean |
whether the callback was unregistered. |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-04-11 UTC.