# MediaRouter.Callback

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:mediarouter-v7:28.0.0-alpha1  
Summary:[Ctors](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#)  

# MediaRouter.Callback

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public
static

abstract
class
MediaRouter.Callback
`  
`

extends Object


``


`

|---|-----------------------------------------------|
| java.lang.Object                                 ||
| ↳ | android.support.v7.media.MediaRouter.Callback |

<br />

*** ** * ** ***

Interface for receiving events about media routing changes. All methods of this interface will be called from the application's main thread.

A Callback will only receive events relevant to routes that the callback was registered for unless the[CALLBACK_FLAG_UNFILTERED_EVENTS](https://developer.android.com/reference/android/support/v7/media/MediaRouter#CALLBACK_FLAG_UNFILTERED_EVENTS)flag was specified in[addCallback(MediaRouteSelector, Callback, int)](https://developer.android.com/reference/android/support/v7/media/MediaRouter#addCallback(android.support.v7.media.MediaRouteSelector, android.support.v7.media.MediaRouter.Callback, int)).

<br />

**See also:**

- [addCallback(MediaRouteSelector, Callback, int)](https://developer.android.com/reference/android/support/v7/media/MediaRouter#addCallback(android.support.v7.media.MediaRouteSelector, android.support.v7.media.MediaRouter.Callback, int))
- [removeCallback(Callback)](https://developer.android.com/reference/android/support/v7/media/MediaRouter#removeCallback(android.support.v7.media.MediaRouter.Callback))

## Summary

|                                                             ### Public constructors                                                             ||
|----------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[MediaRouter.Callback](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#MediaRouter.Callback())`() ` |

|                                                                                                                                                                                                                                                                       ### Public methods                                                                                                                                                                                                                                                                       ||
|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void` | ` `[onProviderAdded](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onProviderAdded(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.ProviderInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.ProviderInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.ProviderInfo)` provider) ` Called when a media route provider has been added.                                    |
| ` void` | ` `[onProviderChanged](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onProviderChanged(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.ProviderInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.ProviderInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.ProviderInfo)` provider) ` Called when a property of the indicated media route provider has changed.         |
| ` void` | ` `[onProviderRemoved](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onProviderRemoved(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.ProviderInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.ProviderInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.ProviderInfo)` provider) ` Called when a media route provider has been removed.                              |
| ` void` | ` `[onRouteAdded](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteAdded(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route) ` Called when a media route has been added.                                                               |
| ` void` | ` `[onRouteChanged](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteChanged(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route) ` Called when a property of the indicated media route has changed.                                    |
| ` void` | ` `[onRoutePresentationDisplayChanged](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRoutePresentationDisplayChanged(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route) ` Called when a media route's presentation display changes.     |
| ` void` | ` `[onRouteRemoved](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteRemoved(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route) ` Called when a media route has been removed.                                                         |
| ` void` | ` `[onRouteSelected](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteSelected(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route) ` Called when the supplied media route becomes selected as the active route.                        |
| ` void` | ` `[onRouteUnselected](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteUnselected(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route) ` Called when the supplied media route becomes unselected as the active route.                  |
| ` void` | ` `[onRouteUnselected](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteUnselected(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo, int))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route, int reason) ` Called when the supplied media route becomes unselected as the active route. |
| ` void` | ` `[onRouteVolumeChanged](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteVolumeChanged(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)` route) ` Called when a media route's volume changes.                                             |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#)From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### MediaRouter.Callback

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

```
MediaRouter.Callback ()
```

<br />

<br />

## Public methods

### onProviderAdded

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

```
void onProviderAdded (MediaRouter router, 
                MediaRouter.ProviderInfo provider)
```

Called when a media route provider has been added.

<br />

|                                           Parameters                                           ||
|------------|------------------------------------------------------------------------------------|
| `router`   | `MediaRouter`: The media router reporting the event. <br />                        |
| `provider` | `MediaRouter.ProviderInfo`: The provider that has become available for use. <br /> |

### onProviderChanged

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

```
void onProviderChanged (MediaRouter router, 
                MediaRouter.ProviderInfo provider)
```

Called when a property of the indicated media route provider has changed.

<br />

|                                  Parameters                                   ||
|------------|-------------------------------------------------------------------|
| `router`   | `MediaRouter`: The media router reporting the event. <br />       |
| `provider` | `MediaRouter.ProviderInfo`: The provider that was changed. <br /> |

### onProviderRemoved

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

```
void onProviderRemoved (MediaRouter router, 
                MediaRouter.ProviderInfo provider)
```

Called when a media route provider has been removed.

<br />

|                                              Parameters                                              ||
|------------|------------------------------------------------------------------------------------------|
| `router`   | `MediaRouter`: The media router reporting the event. <br />                              |
| `provider` | `MediaRouter.ProviderInfo`: The provider that has been removed from availability. <br /> |

### onRouteAdded

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

```
void onRouteAdded (MediaRouter router, 
                MediaRouter.RouteInfo route)
```

Called when a media route has been added.

<br />

|                                       Parameters                                       ||
|----------|------------------------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br />                  |
| `route`  | `MediaRouter.RouteInfo`: The route that has become available for use. <br /> |

### onRouteChanged

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

```
void onRouteChanged (MediaRouter router, 
                MediaRouter.RouteInfo route)
```

Called when a property of the indicated media route has changed.

<br />

|                              Parameters                               ||
|----------|-------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br /> |
| `route`  | `MediaRouter.RouteInfo`: The route that was changed. <br /> |

### onRoutePresentationDisplayChanged

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

```
void onRoutePresentationDisplayChanged (MediaRouter router, 
                MediaRouter.RouteInfo route)
```

Called when a media route's presentation display changes.

This method is called whenever the route's presentation display becomes available, is removed or has changes to some of its properties (such as its size).

<br />

<br />

|                                       Parameters                                        ||
|----------|-------------------------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br />                   |
| `route`  | `MediaRouter.RouteInfo`: The route whose presentation display changed. <br /> |

**See also:**

- [getPresentationDisplay()](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo#getPresentationDisplay())  

### onRouteRemoved

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

```
void onRouteRemoved (MediaRouter router, 
                MediaRouter.RouteInfo route)
```

Called when a media route has been removed.

<br />

|                                          Parameters                                          ||
|----------|------------------------------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br />                        |
| `route`  | `MediaRouter.RouteInfo`: The route that has been removed from availability. <br /> |

### onRouteSelected

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

```
void onRouteSelected (MediaRouter router, 
                MediaRouter.RouteInfo route)
```

Called when the supplied media route becomes selected as the active route.

<br />

|                                 Parameters                                  ||
|----------|-------------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br />       |
| `route`  | `MediaRouter.RouteInfo`: The route that has been selected. <br /> |

### onRouteUnselected

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

```
void onRouteUnselected (MediaRouter router, 
                MediaRouter.RouteInfo route)
```

Called when the supplied media route becomes unselected as the active route. For detailed reason, override[onRouteUnselected(MediaRouter, RouteInfo, int)](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteUnselected(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo, int))instead.

<br />

|                                  Parameters                                   ||
|----------|---------------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br />         |
| `route`  | `MediaRouter.RouteInfo`: The route that has been unselected. <br /> |

### onRouteUnselected

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

```
void onRouteUnselected (MediaRouter router, 
                MediaRouter.RouteInfo route, 
                int reason)
```

Called when the supplied media route becomes unselected as the active route. The default implementation calls[onRouteUnselected(MediaRouter, MediaRouter.RouteInfo)](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback#onRouteUnselected(android.support.v7.media.MediaRouter, android.support.v7.media.MediaRouter.RouteInfo)).

The reason provided will be one of the following:

- [UNSELECT_REASON_UNKNOWN](https://developer.android.com/reference/android/support/v7/media/MediaRouter#UNSELECT_REASON_UNKNOWN)
- [UNSELECT_REASON_DISCONNECTED](https://developer.android.com/reference/android/support/v7/media/MediaRouter#UNSELECT_REASON_DISCONNECTED)
- [UNSELECT_REASON_STOPPED](https://developer.android.com/reference/android/support/v7/media/MediaRouter#UNSELECT_REASON_STOPPED)
- [UNSELECT_REASON_ROUTE_CHANGED](https://developer.android.com/reference/android/support/v7/media/MediaRouter#UNSELECT_REASON_ROUTE_CHANGED)

<br />

<br />

|                                  Parameters                                   ||
|----------|---------------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br />         |
| `route`  | `MediaRouter.RouteInfo`: The route that has been unselected. <br /> |
| `reason` | `int`: The reason for unselecting the route. <br />                 |

### onRouteVolumeChanged

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

```
void onRouteVolumeChanged (MediaRouter router, 
                MediaRouter.RouteInfo route)
```

Called when a media route's volume changes.

<br />

|                                Parameters                                 ||
|----------|-----------------------------------------------------------------|
| `router` | `MediaRouter`: The media router reporting the event. <br />     |
| `route`  | `MediaRouter.RouteInfo`: The route whose volume changed. <br /> |

-

  ## Interfaces

  - [RemotePlaybackClient.OnMessageReceivedListener](https://developer.android.com/reference/android/support/v7/media/RemotePlaybackClient.OnMessageReceivedListener)
-

  ## Classes

  - [MediaControlIntent](https://developer.android.com/reference/android/support/v7/media/MediaControlIntent)
  - [MediaItemMetadata](https://developer.android.com/reference/android/support/v7/media/MediaItemMetadata)
  - [MediaItemStatus](https://developer.android.com/reference/android/support/v7/media/MediaItemStatus)
  - [MediaItemStatus.Builder](https://developer.android.com/reference/android/support/v7/media/MediaItemStatus.Builder)
  - [MediaRouteDescriptor](https://developer.android.com/reference/android/support/v7/media/MediaRouteDescriptor)
  - [MediaRouteDescriptor.Builder](https://developer.android.com/reference/android/support/v7/media/MediaRouteDescriptor.Builder)
  - [MediaRouteDiscoveryRequest](https://developer.android.com/reference/android/support/v7/media/MediaRouteDiscoveryRequest)
  - [MediaRouteProvider](https://developer.android.com/reference/android/support/v7/media/MediaRouteProvider)
  - [MediaRouteProvider.Callback](https://developer.android.com/reference/android/support/v7/media/MediaRouteProvider.Callback)
  - [MediaRouteProvider.ProviderMetadata](https://developer.android.com/reference/android/support/v7/media/MediaRouteProvider.ProviderMetadata)
  - [MediaRouteProvider.RouteController](https://developer.android.com/reference/android/support/v7/media/MediaRouteProvider.RouteController)
  - [MediaRouteProviderDescriptor](https://developer.android.com/reference/android/support/v7/media/MediaRouteProviderDescriptor)
  - [MediaRouteProviderDescriptor.Builder](https://developer.android.com/reference/android/support/v7/media/MediaRouteProviderDescriptor.Builder)
  - [MediaRouteProviderService](https://developer.android.com/reference/android/support/v7/media/MediaRouteProviderService)
  - [MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter)
  - [MediaRouter.Callback](https://developer.android.com/reference/android/support/v7/media/MediaRouter.Callback)
  - [MediaRouter.ControlRequestCallback](https://developer.android.com/reference/android/support/v7/media/MediaRouter.ControlRequestCallback)
  - [MediaRouter.ProviderInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.ProviderInfo)
  - [MediaRouter.RouteInfo](https://developer.android.com/reference/android/support/v7/media/MediaRouter.RouteInfo)
  - [MediaRouteSelector](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector)
  - [MediaRouteSelector.Builder](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector.Builder)
  - [MediaSessionStatus](https://developer.android.com/reference/android/support/v7/media/MediaSessionStatus)
  - [MediaSessionStatus.Builder](https://developer.android.com/reference/android/support/v7/media/MediaSessionStatus.Builder)
  - [RemotePlaybackClient](https://developer.android.com/reference/android/support/v7/media/RemotePlaybackClient)
  - [RemotePlaybackClient.ActionCallback](https://developer.android.com/reference/android/support/v7/media/RemotePlaybackClient.ActionCallback)
  - [RemotePlaybackClient.ItemActionCallback](https://developer.android.com/reference/android/support/v7/media/RemotePlaybackClient.ItemActionCallback)
  - [RemotePlaybackClient.SessionActionCallback](https://developer.android.com/reference/android/support/v7/media/RemotePlaybackClient.SessionActionCallback)
  - [RemotePlaybackClient.StatusCallback](https://developer.android.com/reference/android/support/v7/media/RemotePlaybackClient.StatusCallback)