# MediaRouter.Callback

Added in [API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary: [Ctors](https://developer.android.com/reference/android/media/MediaRouter.Callback#pubctors) \| [Methods](https://developer.android.com/reference/android/media/MediaRouter.Callback#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/media/MediaRouter.Callback#inhmethods)  

# MediaRouter.Callback

*** ** * ** ***

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


`
public
static

abstract
class
MediaRouter.Callback
`


`

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


`

`


`

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

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known direct subclasses [MediaRouter.SimpleCallback](https://developer.android.com/reference/android/media/MediaRouter.SimpleCallback) |----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| | [MediaRouter.SimpleCallback](https://developer.android.com/reference/android/media/MediaRouter.SimpleCallback) | Stub implementation of [MediaRouter.Callback](https://developer.android.com/reference/android/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 [MediaRouter.CALLBACK_FLAG_UNFILTERED_EVENTS](https://developer.android.com/reference/android/media/MediaRouter#CALLBACK_FLAG_UNFILTERED_EVENTS)
flag was specified in [MediaRouter.addCallback(int, Callback, int)](https://developer.android.com/reference/android/media/MediaRouter#addCallback(int,%20android.media.MediaRouter.Callback,%20int)).

<br />

**See also:**

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

## Summary

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

|                                                                                                                                                                                                                                                                                                        ### Public methods                                                                                                                                                                                                                                                                                                        ||
|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[onRouteAdded](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteAdded(android.media.MediaRouter,%20android.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info) ` Called when a route for the specified type was added.                                                                                                                                                                  |
| ` abstract void` | ` `[onRouteChanged](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteChanged(android.media.MediaRouter,%20android.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info) ` Called when an aspect of the indicated route has changed.                                                                                                                                                          |
| ` abstract void` | ` `[onRouteGrouped](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteGrouped(android.media.MediaRouter,%20android.media.MediaRouter.RouteInfo,%20android.media.MediaRouter.RouteGroup,%20int))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info, `[MediaRouter.RouteGroup](https://developer.android.com/reference/android/media/MediaRouter.RouteGroup)` group, int index) ` Called when a route is added to a group. |
| ` void`          | ` `[onRoutePresentationDisplayChanged](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRoutePresentationDisplayChanged(android.media.MediaRouter,%20android.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info) ` Called when a route's presentation display changes.                                                                                                                          |
| ` abstract void` | ` `[onRouteRemoved](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteRemoved(android.media.MediaRouter,%20android.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info) ` Called when a route for the specified type was removed.                                                                                                                                                            |
| ` abstract void` | ` `[onRouteSelected](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteSelected(android.media.MediaRouter,%20int,%20android.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, int type, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info) ` Called when the supplied route becomes selected as the active route for the given route type.                                                                                                   |
| ` abstract void` | ` `[onRouteUngrouped](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteUngrouped(android.media.MediaRouter,%20android.media.MediaRouter.RouteInfo,%20android.media.MediaRouter.RouteGroup))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info, `[MediaRouter.RouteGroup](https://developer.android.com/reference/android/media/MediaRouter.RouteGroup)` group) ` Called when a route is removed from a group.           |
| ` abstract void` | ` `[onRouteUnselected](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteUnselected(android.media.MediaRouter,%20int,%20android.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, int type, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info) ` Called when the supplied route becomes unselected as the active route for the given route type.                                                                                             |
| ` abstract void` | ` `[onRouteVolumeChanged](https://developer.android.com/reference/android/media/MediaRouter.Callback#onRouteVolumeChanged(android.media.MediaRouter,%20android.media.MediaRouter.RouteInfo))`(`[MediaRouter](https://developer.android.com/reference/android/media/MediaRouter)` router, `[MediaRouter.RouteInfo](https://developer.android.com/reference/android/media/MediaRouter.RouteInfo)` info) ` Called when a route's volume changes.                                                                                                                                                                  |

| ### 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*.                                                                                             | ||

## Public constructors

### Callback

```
public Callback ()
```

<br />

<br />

## Public methods

### onRouteAdded

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

```
public abstract void onRouteAdded (MediaRouter router, 
                MediaRouter.RouteInfo info)
```

Called when a route for the specified type was added.

<br />

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

### onRouteChanged

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

```
public abstract void onRouteChanged (MediaRouter router, 
                MediaRouter.RouteInfo info)
```

Called when an aspect of the indicated route has changed.

This will not indicate that the types supported by this route have
changed, only that cosmetic info such as name or status have been updated.

<br />

<br />

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

### onRouteGrouped

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

```
public abstract void onRouteGrouped (MediaRouter router, 
                MediaRouter.RouteInfo info, 
                MediaRouter.RouteGroup group, 
                int index)
```

Called when a route is added to a group.

<br />

|                                 Parameters                                  ||
|----------|-------------------------------------------------------------------|
| `router` | `MediaRouter`: the MediaRouter reporting the event <br />         |
| `info`   | `MediaRouter.RouteInfo`: The route that was added <br />          |
| `group`  | `MediaRouter.RouteGroup`: The group the route was added to <br /> |
| `index`  | `int`: The route index within group that info was added at <br /> |

### onRoutePresentationDisplayChanged

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

```
public void onRoutePresentationDisplayChanged (MediaRouter router, 
                MediaRouter.RouteInfo info)
```

Called when a route's presentation display changes.


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

<br />

<br />

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

**See also:**

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

### onRouteRemoved

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

```
public abstract void onRouteRemoved (MediaRouter router, 
                MediaRouter.RouteInfo info)
```

Called when a route for the specified type was removed.

<br />

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

### onRouteSelected

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

```
public abstract void onRouteSelected (MediaRouter router, 
                int type, 
                MediaRouter.RouteInfo info)
```

Called when the supplied route becomes selected as the active route
for the given route type.

<br />

|                                            Parameters                                            ||
|----------|----------------------------------------------------------------------------------------|
| `router` | `MediaRouter`: the MediaRouter reporting the event <br />                              |
| `type`   | `int`: Type flag set indicating the routes that have been selected <br />              |
| `info`   | `MediaRouter.RouteInfo`: Route that has been selected for the given route types <br /> |

### onRouteUngrouped

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

```
public abstract void onRouteUngrouped (MediaRouter router, 
                MediaRouter.RouteInfo info, 
                MediaRouter.RouteGroup group)
```

Called when a route is removed from a group.

<br />

|                                   Parameters                                    ||
|----------|-----------------------------------------------------------------------|
| `router` | `MediaRouter`: the MediaRouter reporting the event <br />             |
| `info`   | `MediaRouter.RouteInfo`: The route that was removed <br />            |
| `group`  | `MediaRouter.RouteGroup`: The group the route was removed from <br /> |

### onRouteUnselected

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

```
public abstract void onRouteUnselected (MediaRouter router, 
                int type, 
                MediaRouter.RouteInfo info)
```

Called when the supplied route becomes unselected as the active route
for the given route type.

<br />

|                                             Parameters                                             ||
|----------|------------------------------------------------------------------------------------------|
| `router` | `MediaRouter`: the MediaRouter reporting the event <br />                                |
| `type`   | `int`: Type flag set indicating the routes that have been unselected <br />              |
| `info`   | `MediaRouter.RouteInfo`: Route that has been unselected for the given route types <br /> |

### onRouteVolumeChanged

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

```
public abstract void onRouteVolumeChanged (MediaRouter router, 
                MediaRouter.RouteInfo info)
```

Called when a route's volume changes.

<br />

|                               Parameters                                ||
|----------|---------------------------------------------------------------|
| `router` | `MediaRouter`: the MediaRouter reporting the event <br />     |
| `info`   | `MediaRouter.RouteInfo`: The route with altered volume <br /> |