# MediaRouteSelector

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:[Nested Classes](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#nestedclasses)\|[Fields](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#lfields)\|[Methods](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#)  

# MediaRouteSelector

| 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

final

class
MediaRouteSelector
`  
`

extends Object


``


`

|---|---------------------------------------------|
| java.lang.Object                               ||
| ↳ | android.support.v7.media.MediaRouteSelector |

<br />

*** ** * ** ***

Describes the capabilities of routes that applications would like to discover and use.

This object is immutable once created using a[MediaRouteSelector.Builder](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector.Builder)instance.

### Example

```
 MediaRouteSelector selectorBuilder = new MediaRouteSelector.Builder()
         .addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
         .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
         .build();

 MediaRouter router = MediaRouter.getInstance(context);
 router.addCallback(selector, callback, MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);
 
```

<br />

## Summary

|                                                                                                                      ### Nested classes                                                                                                                      ||
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [MediaRouteSelector.Builder](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector.Builder) Builder for[media route selectors](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector). |

|                                                                                                                                             ### Fields                                                                                                                                             ||
|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` public static final `[MediaRouteSelector](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector) | [EMPTY](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#EMPTY) An empty media route selector that will not match any routes. |

|                                                                                                                                                                                                                                             ### Public methods                                                                                                                                                                                                                                             ||
|---------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)                                         | ` `[asBundle](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#asBundle())`() ` Converts this object to a bundle for serialization.                                                                                                                                                                                                                |
| ` boolean`                                                                                                          | ` `[contains](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#contains(android.support.v7.media.MediaRouteSelector))`(`[MediaRouteSelector](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector)` selector) ` Returns true if this selector contains all of the capabilities described by the specified selector. |
| ` boolean`                                                                                                          | ` `[equals](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#equals(java.lang.Object))`(Object o) `                                                                                                                                                                                                                                                |
| ` static `[MediaRouteSelector](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector) | ` `[fromBundle](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#fromBundle(android.os.Bundle))`(`[Bundle](https://developer.android.com/reference/android/os/Bundle.html)` bundle) ` Creates an instance from a bundle.                                                                                                                           |
| ` List<String>`                                                                                                     | ` `[getControlCategories](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#getControlCategories())`() ` Gets the list of[media control categories](https://developer.android.com/reference/android/support/v7/media/MediaControlIntent)in the selector.                                                                                            |
| ` boolean`                                                                                                          | ` `[hasControlCategory](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#hasControlCategory(java.lang.String))`(String category) ` Returns true if the selector contains the specified category.                                                                                                                                                   |
| ` int`                                                                                                              | ` `[hashCode](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#hashCode())`() `                                                                                                                                                                                                                                                                    |
| ` boolean`                                                                                                          | ` `[isEmpty](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#isEmpty())`() ` Returns true if the selector does not specify any capabilities.                                                                                                                                                                                                      |
| ` boolean`                                                                                                          | ` `[isValid](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#isValid())`() ` Returns true if the selector has all of the required fields.                                                                                                                                                                                                         |
| ` boolean`                                                                                                          | ` `[matchesControlFilters](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#matchesControlFilters(java.util.List<android.content.IntentFilter>))`(List<`[IntentFilter](https://developer.android.com/reference/android/content/IntentFilter.html)`> filters) ` Returns true if the selector matches at least one of the specified control filters. |
| ` String`                                                                                                           | ` `[toString](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#toString())`() `                                                                                                                                                                                                                                                                    |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector#)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() `                    | ||

## Fields

### EMPTY

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

```
MediaRouteSelector EMPTY
```

An empty media route selector that will not match any routes.

<br />

## Public methods

### asBundle

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

```
Bundle asBundle ()
```

Converts this object to a bundle for serialization.

<br />

|                                                               Returns                                                                ||
|--------------------------------------------------------------------------|------------------------------------------------------------|
| [Bundle](https://developer.android.com/reference/android/os/Bundle.html) | The contents of the object represented as a bundle. <br /> |

### contains

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

```
boolean contains (MediaRouteSelector selector)
```

Returns true if this selector contains all of the capabilities described by the specified selector.

<br />

|                              Parameters                               ||
|------------|-----------------------------------------------------------|
| `selector` | `MediaRouteSelector`: The selector to be examined. <br /> |

|                                                    Returns                                                    ||
|-----------|----------------------------------------------------------------------------------------------------|
| `boolean` | True if this selector contains all of the capabilities described by the specified selector. <br /> |

### equals

```
boolean equals (Object o)
```

<br />

<br />

|      Parameters      ||
|-----|-----------------|
| `o` | `Object` <br /> |

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

### fromBundle

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

```
MediaRouteSelector fromBundle (Bundle bundle)
```

Creates an instance from a bundle.

<br />

|                       Parameters                        ||
|----------|-----------------------------------------------|
| `bundle` | `Bundle`: The bundle, or null if none. <br /> |

|                                                                               Returns                                                                               ||
|-----------------------------------------------------------------------------------------------------------|----------------------------------------------------------|
| [MediaRouteSelector](https://developer.android.com/reference/android/support/v7/media/MediaRouteSelector) | The new instance, or null if the bundle was null. <br /> |

### getControlCategories

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

```
List<String> getControlCategories ()
```

Gets the list of[media control categories](https://developer.android.com/reference/android/support/v7/media/MediaControlIntent)in the selector.

<br />

|                    Returns                     ||
|----------------|--------------------------------|
| `List<String>` | The list of categories. <br /> |

### hasControlCategory

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

```
boolean hasControlCategory (String category)
```

Returns true if the selector contains the specified category.

<br />

|                     Parameters                      ||
|------------|-----------------------------------------|
| `category` | `String`: The category to check. <br /> |

|                      Returns                       ||
|-----------|-----------------------------------------|
| `boolean` | True if the category is present. <br /> |

### hashCode

```
int hashCode ()
```

<br />

<br />

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

### isEmpty

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

```
boolean isEmpty ()
```

Returns true if the selector does not specify any capabilities.

<br />

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

### isValid

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

```
boolean isValid ()
```

Returns true if the selector has all of the required fields.

<br />

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

### matchesControlFilters

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

```
boolean matchesControlFilters (List<IntentFilter> filters)
```

Returns true if the selector matches at least one of the specified control filters.

<br />

|                             Parameters                             ||
|-----------|---------------------------------------------------------|
| `filters` | `List`: The list of control filters to consider. <br /> |

|                   Returns                   ||
|-----------|----------------------------------|
| `boolean` | True if a match is found. <br /> |

### toString

```
String toString ()
```

<br />

<br />

|     Returns      ||
|----------|--------|
| `String` | <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)