# MediaRoute2Info

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Nested Classes](https://developer.android.com/reference/android/media/MediaRoute2Info#nestedclasses)\|[Constants](https://developer.android.com/reference/android/media/MediaRoute2Info#constants)\|[Inherited Constants](https://developer.android.com/reference/android/media/MediaRoute2Info#inhconstants)\|[Fields](https://developer.android.com/reference/android/media/MediaRoute2Info#lfields)\|[Methods](https://developer.android.com/reference/android/media/MediaRoute2Info#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/media/MediaRoute2Info#inhmethods)  

# MediaRoute2Info

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/media/MediaRoute2Info "View this page in Kotlin")\|Java

`
public

final

class
MediaRoute2Info
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


implements

`[Parcelable](https://developer.android.com/reference/android/os/Parcelable)`


`

|---|-------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.MediaRoute2Info |

<br />

*** ** * ** ***

Describes the properties of a route.

## Summary

|                                                                                                    ### Nested classes                                                                                                    ||
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [MediaRoute2Info.Builder](https://developer.android.com/reference/android/media/MediaRoute2Info.Builder) Builder for[media route info](https://developer.android.com/reference/android/media/MediaRoute2Info). |

|                                                                                                                                                              ### Constants                                                                                                                                                               ||
|--------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int`                                                              | [CONNECTION_STATE_CONNECTED](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_CONNECTED) A connection state indicating the route is connected.                                                                                 |
| `int`                                                              | [CONNECTION_STATE_CONNECTING](https://developer.android.com/reference/android/media/MediaRoute2Info#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](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_DISCONNECTED) The default connection state indicating the route is disconnected.                                                              |
| [String](https://developer.android.com/reference/java/lang/String) | [FEATURE_LIVE_AUDIO](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_LIVE_AUDIO) Route feature: Live audio.                                                                                                                            |
| [String](https://developer.android.com/reference/java/lang/String) | [FEATURE_LIVE_VIDEO](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_LIVE_VIDEO) Route feature: Live video.                                                                                                                            |
| [String](https://developer.android.com/reference/java/lang/String) | [FEATURE_REMOTE_AUDIO_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_AUDIO_PLAYBACK) Route feature: Remote audio playback.                                                                                           |
| [String](https://developer.android.com/reference/java/lang/String) | [FEATURE_REMOTE_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_PLAYBACK) Route feature: Remote playback.                                                                                                             |
| [String](https://developer.android.com/reference/java/lang/String) | [FEATURE_REMOTE_VIDEO_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_VIDEO_PLAYBACK) Route feature: Remote video playback.                                                                                           |
| `int`                                                              | [PLAYBACK_VOLUME_FIXED](https://developer.android.com/reference/android/media/MediaRoute2Info#PLAYBACK_VOLUME_FIXED) Playback information indicating the playback volume is fixed, i.e. it cannot be controlled from this object.                                    |
| `int`                                                              | [PLAYBACK_VOLUME_VARIABLE](https://developer.android.com/reference/android/media/MediaRoute2Info#PLAYBACK_VOLUME_VARIABLE) Playback information indicating the playback volume is variable and can be controlled from this object.                                   |
| `int`                                                              | [SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER](https://developer.android.com/reference/android/media/MediaRoute2Info#SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER) Indicates that the route is never suitable for media playback.                                    |
| `int`                                                              | [SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER](https://developer.android.com/reference/android/media/MediaRoute2Info#SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER) Indicates the route is always suitable for media playback.                                |
| `int`                                                              | [SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER](https://developer.android.com/reference/android/media/MediaRoute2Info#SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER) Indicates that the route is suitable for media playback only after explicit user selection. |
| `int`                                                              | [TYPE_AUX_LINE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_AUX_LINE) Indicates the route is using the auxiliary line-level connectors.                                                                                               |
| `int`                                                              | [TYPE_BLE_HEADSET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_BLE_HEADSET) Indicates the route is a Bluetooth Low Energy (BLE) HEADSET.                                                                                              |
| `int`                                                              | [TYPE_BLUETOOTH_A2DP](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_BLUETOOTH_A2DP) Indicates the route is a bluetooth device, such as a bluetooth speaker or headphones.                                                               |
| `int`                                                              | [TYPE_BUILTIN_SPEAKER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_BUILTIN_SPEAKER) Indicates the route is the speaker system (i.e.                                                                                                   |
| `int`                                                              | [TYPE_DOCK](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_DOCK) Indicates the route is the audio device associated with a dock.                                                                                                         |
| `int`                                                              | [TYPE_GROUP](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_GROUP) Indicates the route is a group of devices.                                                                                                                            |
| `int`                                                              | [TYPE_HDMI](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HDMI) Indicates the route is an HDMI connection.                                                                                                                              |
| `int`                                                              | [TYPE_HDMI_ARC](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HDMI_ARC) Indicates the route is an Audio Return Channel of an HDMI connection.                                                                                           |
| `int`                                                              | [TYPE_HDMI_EARC](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HDMI_EARC) Indicates the route is an Enhanced Audio Return Channel of an HDMI connection.                                                                                |
| `int`                                                              | [TYPE_HEARING_AID](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HEARING_AID) Indicates the route is a hearing aid.                                                                                                                     |
| `int`                                                              | [TYPE_LINE_ANALOG](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_LINE_ANALOG) Indicates the route is an analog line-level connection.                                                                                                   |
| `int`                                                              | [TYPE_LINE_DIGITAL](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_LINE_DIGITAL) Indicates the route is a digital line connection (for example S/PDIF).                                                                                  |
| `int`                                                              | [TYPE_MULTICHANNEL_SPEAKER_GROUP](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_MULTICHANNEL_SPEAKER_GROUP) Indicates the route is a speaker group supporting multichannel contents.                                                    |
| `int`                                                              | [TYPE_REMOTE_AUDIO_VIDEO_RECEIVER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_AUDIO_VIDEO_RECEIVER) Indicates the route is a remote Audio/Video Receiver (AVR).                                                               |
| `int`                                                              | [TYPE_REMOTE_CAR](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_CAR) Indicates the route is a remote car.                                                                                                                        |
| `int`                                                              | [TYPE_REMOTE_COMPUTER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_COMPUTER) Indicates the route is a remote computer.                                                                                                         |
| `int`                                                              | [TYPE_REMOTE_GAME_CONSOLE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_GAME_CONSOLE) Indicates the route is a remote gaming console.                                                                                           |
| `int`                                                              | [TYPE_REMOTE_SMARTPHONE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_SMARTPHONE) Indicates the route is a remote smartphone.                                                                                                   |
| `int`                                                              | [TYPE_REMOTE_SMARTWATCH](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_SMARTWATCH) Indicates the route is a remote smartwatch.                                                                                                   |
| `int`                                                              | [TYPE_REMOTE_SPEAKER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_SPEAKER) Indicates the route is a remote speaker.                                                                                                            |
| `int`                                                              | [TYPE_REMOTE_TABLET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_TABLET) Indicates the route is a remote tablet.                                                                                                               |
| `int`                                                              | [TYPE_REMOTE_TABLET_DOCKED](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_TABLET_DOCKED) Indicates the route is a remote docked tablet.                                                                                          |
| `int`                                                              | [TYPE_REMOTE_TV](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_TV) Indicates the route is a remote TV.                                                                                                                           |
| `int`                                                              | [TYPE_UNKNOWN](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_UNKNOWN) Indicates the route's type is unknown or undefined.                                                                                                               |
| `int`                                                              | [TYPE_USB_ACCESSORY](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_USB_ACCESSORY) Indicates the route is a USB audio device in accessory mode.                                                                                          |
| `int`                                                              | [TYPE_USB_DEVICE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_USB_DEVICE) Indicates the route is a USB audio device.                                                                                                                  |
| `int`                                                              | [TYPE_USB_HEADSET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_USB_HEADSET) Indicates the route is a USB audio headset.                                                                                                               |
| `int`                                                              | [TYPE_WIRED_HEADPHONES](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_WIRED_HEADPHONES) Indicates the route is a pair of wired headphones.                                                                                              |
| `int`                                                              | [TYPE_WIRED_HEADSET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_WIRED_HEADSET) Indicates the route is a headset, which is the combination of a headphones and a microphone.                                                          |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ### Inherited constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From interface[android.os.Parcelable](https://developer.android.com/reference/android/os/Parcelable) |-------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `int` | [CONTENTS_FILE_DESCRIPTOR](https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR) Descriptor bit used with[describeContents()](https://developer.android.com/reference/android/os/Parcelable#describeContents()): indicates that the Parcelable object's flattened representation includes a file descriptor.                                                                                                                                            | | `int` | [PARCELABLE_WRITE_RETURN_VALUE](https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE) Flag for use with[writeToParcel(Parcel, int)](https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)): the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

|                                                                                                                                               ### Fields                                                                                                                                               ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| ` public static final `[Creator](https://developer.android.com/reference/android/os/Parcelable.Creator)`<`[MediaRoute2Info](https://developer.android.com/reference/android/media/MediaRoute2Info)`>` | [CREATOR](https://developer.android.com/reference/android/media/MediaRoute2Info#CREATOR) <br /> |

|                                                                                                                                                                                                                             ### Public methods                                                                                                                                                                                                                             ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` int`                                                                                                                                                                                                    | ` `[describeContents](https://developer.android.com/reference/android/media/MediaRoute2Info#describeContents())`() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.                                    |
| ` boolean`                                                                                                                                                                                                | ` `[equals](https://developer.android.com/reference/android/media/MediaRoute2Info#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.            |
| ` `[String](https://developer.android.com/reference/java/lang/String)                                                                                                                                     | ` `[getClientPackageName](https://developer.android.com/reference/android/media/MediaRoute2Info#getClientPackageName())`() ` Gets the package name of the app using the route.                                                                                  |
| ` int`                                                                                                                                                                                                    | ` `[getConnectionState](https://developer.android.com/reference/android/media/MediaRoute2Info#getConnectionState())`() ` Gets the connection state of the route.                                                                                                |
| ` `[Set](https://developer.android.com/reference/java/util/Set)`<`[String](https://developer.android.com/reference/java/lang/String)`>`                                                                   | ` `[getDeduplicationIds](https://developer.android.com/reference/android/media/MediaRoute2Info#getDeduplicationIds())`() ` Gets the deduplication IDs associated to the route.                                                                                  |
| ` `[CharSequence](https://developer.android.com/reference/java/lang/CharSequence)                                                                                                                         | ` `[getDescription](https://developer.android.com/reference/android/media/MediaRoute2Info#getDescription())`() ` Gets the user-visible description of the route.                                                                                                |
| ` `[Bundle](https://developer.android.com/reference/android/os/Bundle)                                                                                                                                    | ` `[getExtras](https://developer.android.com/reference/android/media/MediaRoute2Info#getExtras())`() ` Gets an optional bundle with extra data.                                                                                                                 |
| ` `[List](https://developer.android.com/reference/java/util/List)`<`[String](https://developer.android.com/reference/java/lang/String)`>`                                                                 | ` `[getFeatures](https://developer.android.com/reference/android/media/MediaRoute2Info#getFeatures())`() ` Gets the supported features of the route.                                                                                                            |
| ` `[Uri](https://developer.android.com/reference/android/net/Uri)                                                                                                                                         | ` `[getIconUri](https://developer.android.com/reference/android/media/MediaRoute2Info#getIconUri())`() ` Gets the URI of the icon representing this route.                                                                                                      |
| ` `[String](https://developer.android.com/reference/java/lang/String)                                                                                                                                     | ` `[getId](https://developer.android.com/reference/android/media/MediaRoute2Info#getId())`() ` Gets the id of the route.                                                                                                                                        |
| ` `[CharSequence](https://developer.android.com/reference/java/lang/CharSequence)                                                                                                                         | ` `[getName](https://developer.android.com/reference/android/media/MediaRoute2Info#getName())`() ` Gets the user-visible name of the route.                                                                                                                     |
| ` `[List](https://developer.android.com/reference/java/util/List)`<`[Set](https://developer.android.com/reference/java/util/Set)`<`[String](https://developer.android.com/reference/java/lang/String)`>>` | ` `[getRequiredPermissions](https://developer.android.com/reference/android/media/MediaRoute2Info#getRequiredPermissions())`() `                                                                                                                                |
| ` int`                                                                                                                                                                                                    | ` `[getSuitabilityStatus](https://developer.android.com/reference/android/media/MediaRoute2Info#getSuitabilityStatus())`() ` Returns the route suitability status.                                                                                              |
| ` int`                                                                                                                                                                                                    | ` `[getType](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())`() ` Returns the type of this route.                                                                                                                              |
| ` int`                                                                                                                                                                                                    | ` `[getVolume](https://developer.android.com/reference/android/media/MediaRoute2Info#getVolume())`() ` Gets the current volume of the route.                                                                                                                    |
| ` int`                                                                                                                                                                                                    | ` `[getVolumeHandling](https://developer.android.com/reference/android/media/MediaRoute2Info#getVolumeHandling())`() ` Gets information about how volume is handled on the route.                                                                               |
| ` int`                                                                                                                                                                                                    | ` `[getVolumeMax](https://developer.android.com/reference/android/media/MediaRoute2Info#getVolumeMax())`() ` Gets the maximum volume of the route.                                                                                                              |
| ` int`                                                                                                                                                                                                    | ` `[hashCode](https://developer.android.com/reference/android/media/MediaRoute2Info#hashCode())`() ` Returns a hash code value for the object.                                                                                                                  |
| ` boolean`                                                                                                                                                                                                | ` `[isSystemRoute](https://developer.android.com/reference/android/media/MediaRoute2Info#isSystemRoute())`() ` Returns whether the route is a system route or not.                                                                                              |
| ` `[String](https://developer.android.com/reference/java/lang/String)                                                                                                                                     | ` `[toString](https://developer.android.com/reference/android/media/MediaRoute2Info#toString())`() ` Returns a string representation of the object.                                                                                                             |
| ` void`                                                                                                                                                                                                   | ` `[writeToParcel](https://developer.android.com/reference/android/media/MediaRoute2Info#writeToParcel(android.os.Parcel,%20int))`(`[Parcel](https://developer.android.com/reference/android/os/Parcel)` dest, int flags) ` Flatten this object in to a Parcel. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](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 `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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*.                                                                                             | ||
| From interface` `[android.os.Parcelable](https://developer.android.com/reference/android/os/Parcelable)` ` |------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract int`  | ` `[describeContents](https://developer.android.com/reference/android/os/Parcelable#describeContents())`() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.                                    | | ` abstract void` | ` `[writeToParcel](https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int))`(`[Parcel](https://developer.android.com/reference/android/os/Parcel)` dest, int flags) ` Flatten this object in to a Parcel. | ||

## Constants

### CONNECTION_STATE_CONNECTED

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

```
public static final int CONNECTION_STATE_CONNECTED
```

A connection state indicating the route is connected.

<br />

**See also:**

- [getConnectionState()](https://developer.android.com/reference/android/media/MediaRoute2Info#getConnectionState())

Constant Value: 2 (0x00000002)  

### CONNECTION_STATE_CONNECTING

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

```
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.

<br />

**See also:**

- [getConnectionState()](https://developer.android.com/reference/android/media/MediaRoute2Info#getConnectionState())

Constant Value: 1 (0x00000001)  

### CONNECTION_STATE_DISCONNECTED

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

```
public static final int CONNECTION_STATE_DISCONNECTED
```

The default connection state indicating the route is disconnected.

<br />

**See also:**

- [getConnectionState()](https://developer.android.com/reference/android/media/MediaRoute2Info#getConnectionState())

Constant Value: 0 (0x00000000)  

### FEATURE_LIVE_AUDIO

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

```
public static final String FEATURE_LIVE_AUDIO
```

Route feature: Live audio.

A route that supports live audio routing will allow the media audio stream to be sent to supported destinations. This can include internal speakers or audio jacks on the device itself, A2DP devices, and more.

When a live audio route is selected, audio routing is transparent to the application. All audio played on the media stream will be routed to the selected destination.

Refer to the class documentation for details about live audio routes.

<br />

<br />

Constant Value: "android.media.route.feature.LIVE_AUDIO"  

### FEATURE_LIVE_VIDEO

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

```
public static final String FEATURE_LIVE_VIDEO
```

Route feature: Live video.

A route that supports live video routing will allow a mirrored version of the device's primary display or a customized[Presentation](https://developer.android.com/reference/android/app/Presentation)to be sent to supported destinations.

When a live video route is selected, audio and video routing is transparent to the application. By default, audio and video is routed to the selected destination. For certain live video routes, the application may also use a[Presentation](https://developer.android.com/reference/android/app/Presentation)to replace the mirrored view on the external display with different content.

Refer to the class documentation for details about live video routes.

<br />

<br />

**See also:**

- [Presentation](https://developer.android.com/reference/android/app/Presentation)

Constant Value: "android.media.route.feature.LIVE_VIDEO"  

### FEATURE_REMOTE_AUDIO_PLAYBACK

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

```
public static final String FEATURE_REMOTE_AUDIO_PLAYBACK
```

Route feature: Remote audio playback.

A route that supports remote audio playback routing will allow an application to send requests to play audio content remotely to supported destinations.

<br />

**See also:**

- [FEATURE_REMOTE_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_PLAYBACK)
- [FEATURE_REMOTE_VIDEO_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_VIDEO_PLAYBACK)

Constant Value: "android.media.route.feature.REMOTE_AUDIO_PLAYBACK"  

### FEATURE_REMOTE_PLAYBACK

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

```
public static final String FEATURE_REMOTE_PLAYBACK
```

Route feature: Remote playback.

A route that supports remote playback routing will allow an application to send requests to play content remotely to supported destinations. A route may only support[audio playback](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_AUDIO_PLAYBACK)or[video playback](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_VIDEO_PLAYBACK).

Remote playback routes destinations operate independently of the local device. When a remote playback route is selected, the application can control the content playing on the destination using[MediaRouter2.RoutingController.getControlHints()](https://developer.android.com/reference/android/media/MediaRouter2.RoutingController#getControlHints()). The application may also receive status updates from the route regarding remote playback.

Refer to the class documentation for details about remote playback routes.

<br />

<br />

**See also:**

- [FEATURE_REMOTE_AUDIO_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_AUDIO_PLAYBACK)
- [FEATURE_REMOTE_VIDEO_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_VIDEO_PLAYBACK)

Constant Value: "android.media.route.feature.REMOTE_PLAYBACK"  

### FEATURE_REMOTE_VIDEO_PLAYBACK

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

```
public static final String FEATURE_REMOTE_VIDEO_PLAYBACK
```

Route feature: Remote video playback.

A route that supports remote video playback routing will allow an application to send requests to play video content remotely to supported destinations.

<br />

**See also:**

- [FEATURE_REMOTE_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_PLAYBACK)
- [FEATURE_REMOTE_AUDIO_PLAYBACK](https://developer.android.com/reference/android/media/MediaRoute2Info#FEATURE_REMOTE_AUDIO_PLAYBACK)

Constant Value: "android.media.route.feature.REMOTE_VIDEO_PLAYBACK"  

### PLAYBACK_VOLUME_FIXED

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

```
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.

<br />

**See also:**

- [getVolumeHandling()](https://developer.android.com/reference/android/media/MediaRoute2Info#getVolumeHandling())

Constant Value: 0 (0x00000000)  

### PLAYBACK_VOLUME_VARIABLE

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

```
public static final int PLAYBACK_VOLUME_VARIABLE
```

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

<br />

**See also:**

- [getVolumeHandling()](https://developer.android.com/reference/android/media/MediaRoute2Info#getVolumeHandling())

Constant Value: 1 (0x00000001)  

### SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER

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

```
public static final int SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER
```

Indicates that the route is never suitable for media playback.

<br />

Constant Value: 2 (0x00000002)  

### SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER

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

```
public static final int SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER
```

Indicates the route is always suitable for media playback.

<br />

Constant Value: 0 (0x00000000)  

### SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER

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

```
public static final int SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER
```

Indicates that the route is suitable for media playback only after explicit user selection.

<br />

Constant Value: 1 (0x00000001)  

### TYPE_AUX_LINE

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

```
public static final int TYPE_AUX_LINE
```

Indicates the route is using the auxiliary line-level connectors.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_AUX_LINE](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_AUX_LINE)

Constant Value: 19 (0x00000013)  

### TYPE_BLE_HEADSET

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

```
public static final int TYPE_BLE_HEADSET
```

Indicates the route is a Bluetooth Low Energy (BLE) HEADSET.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_BLE_HEADSET](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_BLE_HEADSET)

Constant Value: 26 (0x0000001a)  

### TYPE_BLUETOOTH_A2DP

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

```
public static final int TYPE_BLUETOOTH_A2DP
```

Indicates the route is a bluetooth device, such as a bluetooth speaker or headphones.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_BLUETOOTH_A2DP](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_BLUETOOTH_A2DP)

Constant Value: 8 (0x00000008)  

### TYPE_BUILTIN_SPEAKER

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

```
public static final int TYPE_BUILTIN_SPEAKER
```

Indicates the route is the speaker system (i.e. a mono speaker or stereo speakers) built into the device.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_BUILTIN_SPEAKER](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_BUILTIN_SPEAKER)

Constant Value: 2 (0x00000002)  

### TYPE_DOCK

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

```
public static final int TYPE_DOCK
```

Indicates the route is the audio device associated with a dock.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_DOCK](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_DOCK)

Constant Value: 13 (0x0000000d)  

### TYPE_GROUP

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

```
public static final int TYPE_GROUP
```

Indicates the route is a group of devices.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 2000 (0x000007d0)  

### TYPE_HDMI

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

```
public static final int TYPE_HDMI
```

Indicates the route is an HDMI connection.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_HDMI](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_HDMI)

Constant Value: 9 (0x00000009)  

### TYPE_HDMI_ARC

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

```
public static final int TYPE_HDMI_ARC
```

Indicates the route is an Audio Return Channel of an HDMI connection.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_HDMI_ARC](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_HDMI_ARC)

Constant Value: 10 (0x0000000a)  

### TYPE_HDMI_EARC

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

```
public static final int TYPE_HDMI_EARC
```

Indicates the route is an Enhanced Audio Return Channel of an HDMI connection.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_HDMI_EARC](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_HDMI_EARC)

Constant Value: 29 (0x0000001d)  

### TYPE_HEARING_AID

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

```
public static final int TYPE_HEARING_AID
```

Indicates the route is a hearing aid.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_HEARING_AID](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_HEARING_AID)

Constant Value: 23 (0x00000017)  

### TYPE_LINE_ANALOG

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

```
public static final int TYPE_LINE_ANALOG
```

Indicates the route is an analog line-level connection.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_LINE_ANALOG](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_LINE_ANALOG)

Constant Value: 5 (0x00000005)  

### TYPE_LINE_DIGITAL

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

```
public static final int TYPE_LINE_DIGITAL
```

Indicates the route is a digital line connection (for example S/PDIF).

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_LINE_DIGITAL](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_LINE_DIGITAL)

Constant Value: 6 (0x00000006)  

### TYPE_MULTICHANNEL_SPEAKER_GROUP

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

```
public static final int TYPE_MULTICHANNEL_SPEAKER_GROUP
```

Indicates the route is a speaker group supporting multichannel contents.

The speakers in the group are connected together using local network based protocols. The speaker group requires additional input of the physical positions of each individual speaker to provide a better experience on multichannel contents.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_MULTICHANNEL_GROUP](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_MULTICHANNEL_GROUP)

Constant Value: 32 (0x00000020)  

### TYPE_REMOTE_AUDIO_VIDEO_RECEIVER

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

```
public static final int TYPE_REMOTE_AUDIO_VIDEO_RECEIVER
```

Indicates the route is a remote Audio/Video Receiver (AVR).

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1003 (0x000003eb)  

### TYPE_REMOTE_CAR

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

```
public static final int TYPE_REMOTE_CAR
```

Indicates the route is a remote car.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1008 (0x000003f0)  

### TYPE_REMOTE_COMPUTER

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

```
public static final int TYPE_REMOTE_COMPUTER
```

Indicates the route is a remote computer.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1006 (0x000003ee)  

### TYPE_REMOTE_GAME_CONSOLE

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

```
public static final int TYPE_REMOTE_GAME_CONSOLE
```

Indicates the route is a remote gaming console.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1007 (0x000003ef)  

### TYPE_REMOTE_SMARTPHONE

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

```
public static final int TYPE_REMOTE_SMARTPHONE
```

Indicates the route is a remote smartphone.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1010 (0x000003f2)  

### TYPE_REMOTE_SMARTWATCH

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

```
public static final int TYPE_REMOTE_SMARTWATCH
```

Indicates the route is a remote smartwatch.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1009 (0x000003f1)  

### TYPE_REMOTE_SPEAKER

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

```
public static final int TYPE_REMOTE_SPEAKER
```

Indicates the route is a remote speaker.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1002 (0x000003ea)  

### TYPE_REMOTE_TABLET

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

```
public static final int TYPE_REMOTE_TABLET
```

Indicates the route is a remote tablet.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1004 (0x000003ec)  

### TYPE_REMOTE_TABLET_DOCKED

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

```
public static final int TYPE_REMOTE_TABLET_DOCKED
```

Indicates the route is a remote docked tablet.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1005 (0x000003ed)  

### TYPE_REMOTE_TV

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

```
public static final int TYPE_REMOTE_TV
```

Indicates the route is a remote TV.

A remote device uses a routing protocol managed by the application, as opposed to the routing being done by the system.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 1001 (0x000003e9)  

### TYPE_UNKNOWN

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

```
public static final int TYPE_UNKNOWN
```

Indicates the route's type is unknown or undefined.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())

Constant Value: 0 (0x00000000)  

### TYPE_USB_ACCESSORY

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

```
public static final int TYPE_USB_ACCESSORY
```

Indicates the route is a USB audio device in accessory mode.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_USB_ACCESSORY](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_USB_ACCESSORY)

Constant Value: 12 (0x0000000c)  

### TYPE_USB_DEVICE

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

```
public static final int TYPE_USB_DEVICE
```

Indicates the route is a USB audio device.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_USB_DEVICE](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_USB_DEVICE)

Constant Value: 11 (0x0000000b)  

### TYPE_USB_HEADSET

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

```
public static final int TYPE_USB_HEADSET
```

Indicates the route is a USB audio headset.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_USB_HEADSET](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_USB_HEADSET)

Constant Value: 22 (0x00000016)  

### TYPE_WIRED_HEADPHONES

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

```
public static final int TYPE_WIRED_HEADPHONES
```

Indicates the route is a pair of wired headphones.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_WIRED_HEADPHONES](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_WIRED_HEADPHONES)

Constant Value: 4 (0x00000004)  

### TYPE_WIRED_HEADSET

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

```
public static final int TYPE_WIRED_HEADSET
```

Indicates the route is a headset, which is the combination of a headphones and a microphone.

<br />

**See also:**

- [getType()](https://developer.android.com/reference/android/media/MediaRoute2Info#getType())
- [AudioDeviceInfo.TYPE_WIRED_HEADSET](https://developer.android.com/reference/android/media/AudioDeviceInfo#TYPE_WIRED_HEADSET)

Constant Value: 3 (0x00000003)

## Fields

### CREATOR

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

```
public static final Creator<MediaRoute2Info> CREATOR
```

<br />

<br />

## Public methods

### describeContents

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

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of[writeToParcel(android.os.Parcel, int)](https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)), the return value of this method must include the[CONTENTS_FILE_DESCRIPTOR](https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR)bit.

<br />

|                                                                                                                         Returns                                                                                                                         ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either`0`or[CONTENTS_FILE_DESCRIPTOR](https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR) <br /> |

### equals

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

```
public boolean equals (Object obj)
```

Indicates whether some other object is "equal to" this one.

The`equals`method implements an equivalence relation on non-null object references:

- It is*reflexive* : for any non-null reference value`x`,`x.equals(x)`should return`true`.
- It is*symmetric* : for any non-null reference values`x`and`y`,`x.equals(y)`should return`true`if and only if`y.equals(x)`returns`true`.
- It is*transitive* : for any non-null reference values`x`,`y`, and`z`, if`x.equals(y)`returns`true`and`y.equals(z)`returns`true`, then`x.equals(z)`should return`true`.
- It is*consistent* : for any non-null reference values`x`and`y`, multiple invocations of`x.equals(y)`consistently return`true`or consistently return`false`, provided no information used in`equals`comparisons on the objects is modified.
- For any non-null reference value`x`,`x.equals(null)`should return`false`.

An equivalence relation partitions the elements it operates on into*equivalence classes*; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

<br />

|                             Parameters                              ||
|-------|--------------------------------------------------------------|
| `obj` | `Object`: the reference object with which to compare. <br /> |

|                                         Returns                                          ||
|-----------|-------------------------------------------------------------------------------|
| `boolean` | `true`if this object is the same as the obj argument;`false`otherwise. <br /> |

### getClientPackageName

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

```
public String getClientPackageName ()
```

Gets the package name of the app using the route. Returns null if no apps are using this route.

<br />

|                                  Returns                                   ||
|--------------------------------------------------------------------|--------|
| [String](https://developer.android.com/reference/java/lang/String) | <br /> |

### getConnectionState

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

```
public int getConnectionState ()
```

Gets the connection state of the route.

<br />

|                                                                                                                                                                                                                                                                                                                                                                                                                                  Returns                                                                                                                                                                                                                                                                                                                                                                                                                                  ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | The connection state of this route:[CONNECTION_STATE_DISCONNECTED](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_DISCONNECTED),[CONNECTION_STATE_CONNECTING](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_CONNECTING), or[CONNECTION_STATE_CONNECTED](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_CONNECTED). Value is[CONNECTION_STATE_DISCONNECTED](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_DISCONNECTED),[CONNECTION_STATE_CONNECTING](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_CONNECTING), or[CONNECTION_STATE_CONNECTED](https://developer.android.com/reference/android/media/MediaRoute2Info#CONNECTION_STATE_CONNECTED) <br /> |

### getDeduplicationIds

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

```
public Set<String> getDeduplicationIds ()
```

Gets the deduplication IDs associated to the route.

Two routes with a matching deduplication ID originate from the same receiver device.

<br />

|                                                                                 Returns                                                                                  ||
|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [Set](https://developer.android.com/reference/java/util/Set)`<`[String](https://developer.android.com/reference/java/lang/String)`>` | This value cannot be`null`. <br /> |

### getDescription

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

```
public CharSequence getDescription ()
```

Gets the user-visible description of the route.

<br />

|                                                     Returns                                                     ||
|--------------------------------------------------------------------------------|---------------------------------|
| [CharSequence](https://developer.android.com/reference/java/lang/CharSequence) | This value may be`null`. <br /> |

### getExtras

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

```
public Bundle getExtras ()
```

Gets an optional bundle with extra data.

<br />

|                                               Returns                                                ||
|---------------------------------------------------------------------|---------------------------------|
| [Bundle](https://developer.android.com/reference/android/os/Bundle) | This value may be`null`. <br /> |

### getFeatures

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

```
public List<String> getFeatures ()
```

Gets the supported features of the route.

<br />

|                                                                                  Returns                                                                                   ||
|----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [List](https://developer.android.com/reference/java/util/List)`<`[String](https://developer.android.com/reference/java/lang/String)`>` | This value cannot be`null`. <br /> |

### getIconUri

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

```
public Uri getIconUri ()
```

Gets the URI of the icon representing this route.

This icon will be used in picker UIs if available.

<br />

|                                                               Returns                                                                ||
|----------------------------------------------------------------|----------------------------------------------------------------------|
| [Uri](https://developer.android.com/reference/android/net/Uri) | The URI of the icon representing this route, or null if none. <br /> |

### getId

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

```
public String getId ()
```

Gets the id of the route. The routes which are given by[MediaRouter2](https://developer.android.com/reference/android/media/MediaRouter2)will have unique IDs.

In order to ensure uniqueness in[MediaRouter2](https://developer.android.com/reference/android/media/MediaRouter2)side, the value of this method can be different from what was set in[MediaRoute2ProviderService](https://developer.android.com/reference/android/media/MediaRoute2ProviderService).

<br />

|                                                Returns                                                 ||
|--------------------------------------------------------------------|------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | This value cannot be`null`. <br /> |

**See also:**

- [MediaRoute2Info.Builder.Builder(String, CharSequence)](https://developer.android.com/reference/android/media/MediaRoute2Info.Builder#Builder(java.lang.String,%20java.lang.CharSequence))  

### getName

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

```
public CharSequence getName ()
```

Gets the user-visible name of the route.

<br />

|                                                      Returns                                                       ||
|--------------------------------------------------------------------------------|------------------------------------|
| [CharSequence](https://developer.android.com/reference/java/lang/CharSequence) | This value cannot be`null`. <br /> |

### getRequiredPermissions

Added in[version 36.1](https://developer.android.com/topic/libraries/support-library/revisions)  

```
public List<Set<String>> getRequiredPermissions ()
```

<br />

<br />

|                                                                                                                                                                         Returns                                                                                                                                                                          ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|
| [List](https://developer.android.com/reference/java/util/List)`<`[Set](https://developer.android.com/reference/java/util/Set)`<`[String](https://developer.android.com/reference/java/lang/String)`>>` | a list of permission sets - all the permissions in at least one of these sets must be held to see this route. This value cannot be`null`. <br /> |

### getSuitabilityStatus

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

```
public int getSuitabilityStatus ()
```

Returns the route suitability status.

<br />

|                                                                                                                                                                                                                                                                     Returns                                                                                                                                                                                                                                                                     ||
|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | Value is[SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER](https://developer.android.com/reference/android/media/MediaRoute2Info#SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER),[SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER](https://developer.android.com/reference/android/media/MediaRoute2Info#SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER), or[SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER](https://developer.android.com/reference/android/media/MediaRoute2Info#SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER) <br /> |

### getType

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

```
public int getType ()
```

Returns the type of this route.

<br />

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Returns                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ||
|-------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | Value is[TYPE_UNKNOWN](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_UNKNOWN),[TYPE_BUILTIN_SPEAKER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_BUILTIN_SPEAKER),[TYPE_WIRED_HEADSET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_WIRED_HEADSET),[TYPE_WIRED_HEADPHONES](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_WIRED_HEADPHONES),[TYPE_BLUETOOTH_A2DP](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_BLUETOOTH_A2DP),[TYPE_HDMI](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HDMI),[TYPE_HDMI_ARC](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HDMI_ARC),[TYPE_HDMI_EARC](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HDMI_EARC),[TYPE_LINE_DIGITAL](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_LINE_DIGITAL),[TYPE_LINE_ANALOG](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_LINE_ANALOG),[TYPE_AUX_LINE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_AUX_LINE),[TYPE_USB_DEVICE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_USB_DEVICE),[TYPE_USB_ACCESSORY](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_USB_ACCESSORY),[TYPE_DOCK](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_DOCK),[TYPE_USB_HEADSET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_USB_HEADSET),[TYPE_HEARING_AID](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_HEARING_AID),[TYPE_BLE_HEADSET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_BLE_HEADSET),[TYPE_REMOTE_TV](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_TV),[TYPE_REMOTE_SPEAKER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_SPEAKER),[TYPE_REMOTE_AUDIO_VIDEO_RECEIVER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_AUDIO_VIDEO_RECEIVER),[TYPE_REMOTE_TABLET](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_TABLET),[TYPE_REMOTE_TABLET_DOCKED](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_TABLET_DOCKED),[TYPE_REMOTE_COMPUTER](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_COMPUTER),[TYPE_REMOTE_GAME_CONSOLE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_GAME_CONSOLE),[TYPE_REMOTE_CAR](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_CAR),[TYPE_REMOTE_SMARTWATCH](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_SMARTWATCH),[TYPE_REMOTE_SMARTPHONE](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_REMOTE_SMARTPHONE), or[TYPE_GROUP](https://developer.android.com/reference/android/media/MediaRoute2Info#TYPE_GROUP) <br /> |

### getVolume

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

```
public int getVolume ()
```

Gets the current volume of the route. This may be invalid if the route is not selected.

<br />

|    Returns    ||
|-------|--------|
| `int` | <br /> |

### getVolumeHandling

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

```
public int getVolumeHandling ()
```

Gets information about how volume is handled on the route.

<br />

|                                                                                                                                                                                                                                                         Returns                                                                                                                                                                                                                                                          ||
|-------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [PLAYBACK_VOLUME_FIXED](https://developer.android.com/reference/android/media/MediaRoute2Info#PLAYBACK_VOLUME_FIXED)or[PLAYBACK_VOLUME_VARIABLE](https://developer.android.com/reference/android/media/MediaRoute2Info#PLAYBACK_VOLUME_VARIABLE)Value is[PLAYBACK_VOLUME_FIXED](https://developer.android.com/reference/android/media/MediaRoute2Info#PLAYBACK_VOLUME_FIXED), or[PLAYBACK_VOLUME_VARIABLE](https://developer.android.com/reference/android/media/MediaRoute2Info#PLAYBACK_VOLUME_VARIABLE) <br /> |

### getVolumeMax

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

```
public int getVolumeMax ()
```

Gets the maximum volume of the route.

<br />

|    Returns    ||
|-------|--------|
| `int` | <br /> |

### hashCode

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

```
public int hashCode ()
```

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by[HashMap](https://developer.android.com/reference/java/util/HashMap).

The general contract of`hashCode`is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the`hashCode`method must consistently return the same integer, provided no information used in`equals`comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))method, then calling the`hashCode`method on each of the two objects must produce the same integer result.
- It is*not* required that if two objects are unequal according to the[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))method, then calling the`hashCode`method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

<br />

<br />

|                     Returns                      ||
|-------|-------------------------------------------|
| `int` | a hash code value for this object. <br /> |

### isSystemRoute

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

```
public boolean isSystemRoute ()
```

Returns whether the route is a system route or not.

System routes are media routes directly controlled by the system such as phone speaker, wired headset, and Bluetooth devices.

<br />

<br />

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### toString

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

```
public String toString ()
```

Returns a string representation of the object.

<br />

|                                                      Returns                                                      ||
|--------------------------------------------------------------------|-----------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | a string representation of the object. <br /> |

### writeToParcel

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

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

|                                                                                                                                                                                                                               Parameters                                                                                                                                                                                                                                ||
|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `dest`  | `Parcel`: This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or[Parcelable.PARCELABLE_WRITE_RETURN_VALUE](https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE). Value is either`0`or a combination of[Parcelable.PARCELABLE_WRITE_RETURN_VALUE](https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE), and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES <br /> |