Android APIs
public static class

MediaRouter.RouteInfo

extends Object
java.lang.Object
   ↳ android.support.v7.media.MediaRouter.RouteInfo

Class Overview

Provides information about a media route.

Each media route has a list of media control intent filters that describe the capabilities of the route and the manner in which it is used and controlled.

Summary

Constants
int CONNECTION_STATE_CONNECTED A connection state indicating the route is connected.
int CONNECTION_STATE_CONNECTING A connection state indicating the route is in the process of connecting and is not yet ready for use.
int CONNECTION_STATE_DISCONNECTED The default connection state indicating the route is disconnected.
int DEVICE_TYPE_SPEAKER A receiver device type of the route indicating the presentation of the media is happening on a speaker.
int DEVICE_TYPE_TV A receiver device type of the route indicating the presentation of the media is happening on a TV.
int PLAYBACK_TYPE_LOCAL The default playback type, "local", indicating the presentation of the media is happening on the same device (e.g.
int PLAYBACK_TYPE_REMOTE A playback type indicating the presentation of the media is happening on a different device (i.e.
int PLAYBACK_VOLUME_FIXED Playback information indicating the playback volume is fixed, i.e.
int PLAYBACK_VOLUME_VARIABLE Playback information indicating the playback volume is variable and can be controlled from this object.
Public Methods
boolean canDisconnect()
Gets whether this route supports disconnecting without interrupting playback.
int getConnectionState()
Gets the connection state of the route.
List<IntentFilter> getControlFilters()
Gets a list of media control intent filters that describe the capabilities of this route and the media control actions that it supports.
String getDescription()
Gets the user-visible description of the route.
int getDeviceType()
Gets the type of the receiver device associated with this route.
Bundle getExtras()
Gets a collection of extra properties about this route that were supplied by its media route provider, or null if none.
Uri getIconUri()
Gets the URI of the icon representing this route.
String getId()
Gets the unique id of the route.
String getName()
Gets the user-visible name of the route.
int getPlaybackStream()
Gets the audio stream over which the playback associated with this route is performed.
int getPlaybackType()
Gets the type of playback associated with this route.
Display getPresentationDisplay()
Gets the Display that should be used by the application to show a Presentation on an external display when this route is selected.
MediaRouter.ProviderInfo getProvider()
Gets information about the provider of this media route.
IntentSender getSettingsIntent()
Gets an intent sender for launching a settings activity for this route.
int getVolume()
Gets the current volume for this route.
int getVolumeHandling()
Gets information about how volume is handled on the route.
int getVolumeMax()
Gets the maximum volume at which the playback associated with this route is performed.
boolean isConnecting()
Returns true if the route is in the process of connecting and is not yet ready for use.
boolean isDefault()
Returns true if this route is the default route.
boolean isEnabled()
Returns true if this route is enabled and may be selected.
boolean isSelected()
Returns true if this route is currently selected.
boolean matchesSelector(MediaRouteSelector selector)
Returns true if the route supports at least one of the capabilities described by a media route selector.
void requestSetVolume(int volume)
Requests a volume change for this route asynchronously.
void requestUpdateVolume(int delta)
Requests an incremental volume update for this route asynchronously.
void select()
Selects this media route.
void sendControlRequest(Intent intent, MediaRouter.ControlRequestCallback callback)
Sends a media control request to be performed asynchronously by the route's destination.
boolean supportsControlAction(String category, String action)
Returns true if the route supports the specified media control category and action.
boolean supportsControlCategory(String category)
Returns true if the route supports the specified media control category.
boolean supportsControlRequest(Intent intent)
Returns true if the route supports the specified media control request.
String toString()
Returns a string containing a concise, human-readable description of this object.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int CONNECTION_STATE_CONNECTED

A connection state indicating the route is connected.

Constant Value: 2 (0x00000002)

public static final int CONNECTION_STATE_CONNECTING

A connection state indicating the route is in the process of connecting and is not yet ready for use.

Constant Value: 1 (0x00000001)

public static final int CONNECTION_STATE_DISCONNECTED

The default connection state indicating the route is disconnected.

Constant Value: 0 (0x00000000)

public static final int DEVICE_TYPE_SPEAKER

A receiver device type of the route indicating the presentation of the media is happening on a speaker.

See also:

Constant Value: 2 (0x00000002)

public static final int DEVICE_TYPE_TV

A receiver device type of the route indicating the presentation of the media is happening on a TV.

See also:

Constant Value: 1 (0x00000001)

public static final int PLAYBACK_TYPE_LOCAL

The default playback type, "local", indicating the presentation of the media is happening on the same device (e.g. a phone, a tablet) as where it is controlled from.

See also:

Constant Value: 0 (0x00000000)

public static final int PLAYBACK_TYPE_REMOTE

A playback type indicating the presentation of the media is happening on a different device (i.e. the remote device) than where it is controlled from.

See also:

Constant Value: 1 (0x00000001)

public static final int PLAYBACK_VOLUME_FIXED

Playback information indicating the playback volume is fixed, i.e. it cannot be controlled from this object. An example of fixed playback volume is a remote player, playing over HDMI where the user prefers to control the volume on the HDMI sink, rather than attenuate at the source.

Constant Value: 0 (0x00000000)

public static final int PLAYBACK_VOLUME_VARIABLE

Playback information indicating the playback volume is variable and can be controlled from this object.

Constant Value: 1 (0x00000001)

Public Methods

public boolean canDisconnect ()

Gets whether this route supports disconnecting without interrupting playback.

Returns
boolean True if this route can disconnect without stopping playback, false otherwise.

public int getConnectionState ()

Gets the connection state of the route.

Returns
int The connection state of this route: CONNECTION_STATE_DISCONNECTED, CONNECTION_STATE_CONNECTING, or CONNECTION_STATE_CONNECTED.

public List<IntentFilter> getControlFilters ()

Gets a list of media control intent filters that describe the capabilities of this route and the media control actions that it supports.

Returns
List<IntentFilter> A list of intent filters that specifies the media control intents that this route supports.

public String getDescription ()

Gets the user-visible description of the route.

The route description describes the kind of destination represented by the route. It may be a user-supplied string, a model number or brand of device.

Returns
String The description of the route, or null if none.

public int getDeviceType ()

Gets the type of the receiver device associated with this route.

Returns
int The type of the receiver device associated with this route: DEVICE_TYPE_TV or DEVICE_TYPE_SPEAKER.

public Bundle getExtras ()

Gets a collection of extra properties about this route that were supplied by its media route provider, or null if none.

Returns
Bundle

public Uri getIconUri ()

Gets the URI of the icon representing this route.

This icon will be used in picker UIs if available.

Returns
Uri The URI of the icon representing this route, or null if none.

public String getId ()

Gets the unique id of the route.

The route unique id functions as a stable identifier by which the route is known. For example, an application can use this id as a token to remember the selected route across restarts or to communicate its identity to a service.

Returns
String The unique id of the route, never null.

public String getName ()

Gets the user-visible name of the route.

The route name identifies the destination represented by the route. It may be a user-supplied name, an alias, or device serial number.

Returns
String The user-visible name of a media route. This is the string presented to users who may select this as the active route.

public int getPlaybackStream ()

Gets the audio stream over which the playback associated with this route is performed.

Returns
int The stream over which the playback associated with this route is performed.

public int getPlaybackType ()

Gets the type of playback associated with this route.

Returns
int The type of playback associated with this route: PLAYBACK_TYPE_LOCAL or PLAYBACK_TYPE_REMOTE.

public Display getPresentationDisplay ()

Gets the Display that should be used by the application to show a Presentation on an external display when this route is selected. Depending on the route, this may only be valid if the route is currently selected.

The preferred presentation display may change independently of the route being selected or unselected. For example, the presentation display of the default system route may change when an external HDMI display is connected or disconnected even though the route itself has not changed.

This method may return null if there is no external display associated with the route or if the display is not ready to show UI yet.

The application should listen for changes to the presentation display using the onRoutePresentationDisplayChanged(MediaRouter, MediaRouter.RouteInfo) callback and show or dismiss its Presentation accordingly when the display becomes available or is removed.

This method only makes sense for live video routes.

Returns
Display The preferred presentation display to use when this route is selected or null if none.

public MediaRouter.ProviderInfo getProvider ()

Gets information about the provider of this media route.

Returns
MediaRouter.ProviderInfo

public IntentSender getSettingsIntent ()

Gets an intent sender for launching a settings activity for this route.

Returns
IntentSender

public int getVolume ()

Gets the current volume for this route. Depending on the route, this may only be valid if the route is currently selected.

Returns
int The volume at which the playback associated with this route is performed.

public int getVolumeHandling ()

Gets information about how volume is handled on the route.

Returns
int How volume is handled on the route: PLAYBACK_VOLUME_FIXED or PLAYBACK_VOLUME_VARIABLE.

public int getVolumeMax ()

Gets the maximum volume at which the playback associated with this route is performed.

Returns
int The maximum volume at which the playback associated with this route is performed.

public boolean isConnecting ()

Returns true if the route is in the process of connecting and is not yet ready for use.

Returns
boolean True if this route is in the process of connecting.

public boolean isDefault ()

Returns true if this route is the default route.

Returns
boolean True if this route is the default route.

See also:

public boolean isEnabled ()

Returns true if this route is enabled and may be selected.

Returns
boolean True if this route is enabled.

public boolean isSelected ()

Returns true if this route is currently selected.

Returns
boolean True if this route is currently selected.

See also:

public boolean matchesSelector (MediaRouteSelector selector)

Returns true if the route supports at least one of the capabilities described by a media route selector.

Parameters
selector MediaRouteSelector: The selector that specifies the capabilities to check.
Returns
boolean True if the route supports at least one of the capabilities described in the media route selector.

public void requestSetVolume (int volume)

Requests a volume change for this route asynchronously.

This function may only be called on a selected route. It will have no effect if the route is currently unselected.

Parameters
volume int: The new volume value between 0 and getVolumeMax().

public void requestUpdateVolume (int delta)

Requests an incremental volume update for this route asynchronously.

This function may only be called on a selected route. It will have no effect if the route is currently unselected.

Parameters
delta int: The delta to add to the current volume.

public void select ()

Selects this media route.

public void sendControlRequest (Intent intent, MediaRouter.ControlRequestCallback callback)

Sends a media control request to be performed asynchronously by the route's destination.

Media control requests are used to request the route to perform actions such as starting remote playback of a media item.

This function may only be called on a selected route. Control requests sent to unselected routes will fail.

Parameters
intent Intent: A media control intent.
callback MediaRouter.ControlRequestCallback: A MediaRouter.ControlRequestCallback to invoke with the result of the request, or null if no result is required.

See also:

public boolean supportsControlAction (String category, String action)

Returns true if the route supports the specified media control category and action.

Media control actions describe specific requests that an application can ask a route to perform.

Parameters
category String: A media control category such as CATEGORY_LIVE_AUDIO, CATEGORY_LIVE_VIDEO, CATEGORY_REMOTE_PLAYBACK, or a provider-defined media control category.
action String: A media control action such as ACTION_PLAY.
Returns
boolean True if the route supports the specified intent action.

public boolean supportsControlCategory (String category)

Returns true if the route supports the specified media control category.

Media control categories describe the capabilities of this route such as whether it supports live audio streaming or remote playback.

Parameters
category String: A media control category such as CATEGORY_LIVE_AUDIO, CATEGORY_LIVE_VIDEO, CATEGORY_REMOTE_PLAYBACK, or a provider-defined media control category.
Returns
boolean True if the route supports the specified intent category.

public boolean supportsControlRequest (Intent intent)

Returns true if the route supports the specified media control request.

Media control requests are used to request the route to perform actions such as starting remote playback of a media item.

Parameters
intent Intent: A media control intent.
Returns
boolean True if the route can handle the specified intent.

public String toString ()

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
String a printable representation of this object.