# MediaRouteChooserDialog

Artifact: [androidx.mediarouter:mediarouter](https://developer.android.com/jetpack/androidx/releases/mediarouter) [View Source](https://cs.android.com/search?q=file:androidx/mediarouter/app/MediaRouteChooserDialog.java+class:androidx.mediarouter.app.MediaRouteChooserDialog) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

*** ** * ** ***


```
public class MediaRouteChooserDialog extends AppCompatDialog
```

<br />

|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||||
| ↳ | [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) ||||
|   | ↳ | [androidx.activity.ComponentDialog](https://developer.android.com/reference/androidx/activity/ComponentDialog) |||
|   |   | ↳ | [androidx.appcompat.app.AppCompatDialog](https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog) ||
|   |   |   | ↳ | [androidx.mediarouter.app.MediaRouteChooserDialog](https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog) |

*** ** * ** ***

This class implements the route chooser dialog for `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter`.

This dialog allows the user to choose a route that matches a given selector.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteButton` |   |
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteActionProvider` |   |

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#MediaRouteChooserDialog(android.content.Context)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context)` |
| `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#MediaRouteChooserDialog(android.content.Context,int)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/content/Context.html context, int theme)` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#dismiss()()` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#getRouteSelector()()` Gets the media route selector for filtering the routes that the user can select. |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#onAttachedToWindow()()` |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#onDetachedFromWindow()()` |
| `boolean` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#onFilterRoute(androidx.mediarouter.media.MediaRouter.RouteInfo)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter.RouteInfo route)` Returns true if the route should be included in the list. |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#onFilterRoutes(java.util.List<androidx.mediarouter.media.MediaRouter.RouteInfo>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter.RouteInfo> routes)` Called to filter the set of routes that should be included in the list. |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#refreshRoutes()()` Refreshes the list of routes that are shown in the chooser dialog. |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#setRouteSelector(androidx.mediarouter.media.MediaRouteSelector)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector selector)` Sets the media route selector for filtering the routes that the user can select. |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#setTitle(java.lang.CharSequence)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/CharSequence.html title)` |
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#setTitle(int)(int titleId)` |

| ### Protected methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#onCreate(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` |

### Inherited Constants

From [android.content.DialogInterface](https://developer.android.com/reference/android/content/DialogInterface.html) `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON1 = -1`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON2 = -2`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON3 = -3`

**This field is deprecated.**
`static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEGATIVE = -2` `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_NEUTRAL = -3` `static final int` `https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON_POSITIVE = -1`

### Inherited methods

From [androidx.appcompat.app.AppCompatDialog](https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog) `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#addContentView(android.view.View,android.view.ViewGroup.LayoutParams)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `boolean` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#dispatchKeyEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html T` `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#findViewById(int)(@https://developer.android.com/reference/androidx/annotation/IdRes int id)` `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/appcompat/app/AppCompatDelegate` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#getDelegate()()` `https://developer.android.com/reference/androidx/appcompat/app/ActionBar` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#getSupportActionBar()()`

Support library version of `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()`.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onStop()()` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onSupportActionModeFinished(androidx.appcompat.view.ActionMode)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode)`

Called when a support action mode has finished.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onSupportActionModeStarted(androidx.appcompat.view.ActionMode)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode mode)`

Called when a support action mode has been started.
`@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/appcompat/view/ActionMode` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback)(https://developer.android.com/reference/androidx/appcompat/view/ActionMode.Callback callback)`

Called when a support action mode is being started for this window.
`void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(int)(@https://developer.android.com/reference/androidx/annotation/LayoutRes int layoutResID)` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#setContentView(android.view.View,android.view.ViewGroup.LayoutParams)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `boolean` `https://developer.android.com/reference/androidx/appcompat/app/AppCompatDialog#supportRequestWindowFeature(int)(int featureId)`

Enable extended support library window features.
From [androidx.activity.ComponentDialog](https://developer.android.com/reference/androidx/activity/ComponentDialog) `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#addContentView(android.view.View,android.view.ViewGroup.LayoutParams)(https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getLifecycle()()`

The `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` of this owner.
`https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getNavigationEventDispatcher()()`

Lazily provides a `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` for back navigation handling, including support for predictive back gestures introduced in Android 13 (API 33+).
`final https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getOnBackPressedDispatcher()()`

Retrieve the `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` that will be triggered when `https://developer.android.com/reference/androidx/activity/ComponentDialog#onBackPressed()` is called.
`https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` `https://developer.android.com/reference/androidx/activity/ComponentDialog#getSavedStateRegistry()()`

The `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner`.
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#initializeViewTreeOwners()()`

Sets the view tree owners before setting the content view so that the inflation process and attach listeners will see them already present.
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onBackPressed()()`

**This method is deprecated.**
`void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onCreate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onSaveInstanceState()()` `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onStart()()` `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#onStop()()` `void` `https://developer.android.com/reference/androidx/activity/ComponentDialog#setContentView(int)(int layoutResID)` From [android.app.Dialog](https://developer.android.com/reference/android/app/Dialog.html) `void` `https://developer.android.com/reference/android/app/Dialog.html#addContentView(android.view.View, android.view.ViewGroup.LayoutParams)(https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html params)` `void` `https://developer.android.com/reference/android/app/Dialog.html#cancel()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#closeOptionsMenu()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#create()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#dismiss()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchGenericMotionEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchKeyEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchKeyShortcutEvent(android.view.KeyEvent)(https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)(https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTouchEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#dispatchTrackballEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html ev)` `T` `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/android/app/Dialog.html#findViewById(int)(int id)` `https://developer.android.com/reference/android/app/ActionBar.html` `https://developer.android.com/reference/android/app/Dialog.html#getActionBar()()` `final https://developer.android.com/reference/android/content/Context.html` `https://developer.android.com/reference/android/app/Dialog.html#getContext()()` `https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/android/app/Dialog.html#getCurrentFocus()()` `https://developer.android.com/reference/android/view/LayoutInflater.html` `https://developer.android.com/reference/android/app/Dialog.html#getLayoutInflater()()` `https://developer.android.com/reference/android/window/OnBackInvokedDispatcher.html` `https://developer.android.com/reference/android/app/Dialog.html#getOnBackInvokedDispatcher()()` `final https://developer.android.com/reference/android/app/Activity.html` `https://developer.android.com/reference/android/app/Dialog.html#getOwnerActivity()()` `final https://developer.android.com/reference/android/view/SearchEvent.html` `https://developer.android.com/reference/android/app/Dialog.html#getSearchEvent()()` `final int` `https://developer.android.com/reference/android/app/Dialog.html#getVolumeControlStream()()` `https://developer.android.com/reference/android/view/Window.html` `https://developer.android.com/reference/android/app/Dialog.html#getWindow()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#hide()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#invalidateOptionsMenu()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#isShowing()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeFinished(android.view.ActionMode)(https://developer.android.com/reference/android/view/ActionMode.html mode)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onActionModeStarted(android.view.ActionMode)(https://developer.android.com/reference/android/view/ActionMode.html mode)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onBackPressed()()`

**This method is deprecated.**
`void` `https://developer.android.com/reference/android/app/Dialog.html#onContentChanged()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onContextItemSelected(android.view.MenuItem)(https://developer.android.com/reference/android/view/MenuItem.html item)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onContextMenuClosed(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onCreate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo)(
https://developer.android.com/reference/android/view/ContextMenu.html menu,
https://developer.android.com/reference/android/view/View.html v,
https://developer.android.com/reference/android/view/ContextMenu.ContextMenuInfo.html menuInfo
)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onCreateOptionsMenu(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onCreatePanelMenu(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `https://developer.android.com/reference/android/view/View.html` `https://developer.android.com/reference/android/app/Dialog.html#onCreatePanelView(int)(int featureId)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onGenericMotionEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyDown(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyLongPress(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyMultiple(int, int, android.view.KeyEvent)(int keyCode, int repeatCount, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyShortcut(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onKeyUp(int, android.view.KeyEvent)(int keyCode, https://developer.android.com/reference/android/view/KeyEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onMenuItemSelected(int, android.view.MenuItem)(int featureId, https://developer.android.com/reference/android/view/MenuItem.html item)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onMenuOpened(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onOptionsItemSelected(android.view.MenuItem)(https://developer.android.com/reference/android/view/MenuItem.html item)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onOptionsMenuClosed(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onPanelClosed(int, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onPrepareOptionsMenu(android.view.Menu)(https://developer.android.com/reference/android/view/Menu.html menu)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onPreparePanel(int, android.view.View, android.view.Menu)(int featureId, https://developer.android.com/reference/android/view/View.html view, https://developer.android.com/reference/android/view/Menu.html menu)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onRestoreInstanceState(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html savedInstanceState)` `https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/android/app/Dialog.html#onSaveInstanceState()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onSearchRequested()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onStart()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#onStop()()` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onTouchEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `boolean` `https://developer.android.com/reference/android/app/Dialog.html#onTrackballEvent(android.view.MotionEvent)(https://developer.android.com/reference/android/view/MotionEvent.html event)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onWindowAttributesChanged(android.view.WindowManager.LayoutParams)(https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html params)` `void` `https://developer.android.com/reference/android/app/Dialog.html#onWindowFocusChanged(boolean)(boolean hasFocus)` `https://developer.android.com/reference/android/view/ActionMode.html` `https://developer.android.com/reference/android/app/Dialog.html#onWindowStartingActionMode(android.view.ActionMode.Callback)(https://developer.android.com/reference/android/view/ActionMode.Callback.html callback)` `void` `https://developer.android.com/reference/android/app/Dialog.html#openContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/android/app/Dialog.html#openOptionsMenu()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#registerForContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `final boolean` `https://developer.android.com/reference/android/app/Dialog.html#requestWindowFeature(int)(int featureId)` `final T` `<T extends https://developer.android.com/reference/android/view/View.html> https://developer.android.com/reference/android/app/Dialog.html#requireViewById(int)(int id)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCancelMessage(android.os.Message)(https://developer.android.com/reference/android/os/Message.html msg)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCancelable(boolean)(boolean flag)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setCanceledOnTouchOutside(boolean)(boolean cancel)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setContentView(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setDismissMessage(android.os.Message)(https://developer.android.com/reference/android/os/Message.html msg)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawable(int, android.graphics.drawable.Drawable)(int featureId, https://developer.android.com/reference/android/graphics/drawable/Drawable.html drawable)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableAlpha(int, int)(int featureId, int alpha)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableResource(int, int)(int featureId, int resId)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setFeatureDrawableUri(int, android.net.Uri)(int featureId, https://developer.android.com/reference/android/net/Uri.html uri)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnCancelListener(android.content.DialogInterface.OnCancelListener)(https://developer.android.com/reference/android/content/DialogInterface.OnCancelListener.html listener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnDismissListener(android.content.DialogInterface.OnDismissListener)(https://developer.android.com/reference/android/content/DialogInterface.OnDismissListener.html listener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnKeyListener(android.content.DialogInterface.OnKeyListener)(https://developer.android.com/reference/android/content/DialogInterface.OnKeyListener.html onKeyListener)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setOnShowListener(android.content.DialogInterface.OnShowListener)(https://developer.android.com/reference/android/content/DialogInterface.OnShowListener.html listener)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setOwnerActivity(android.app.Activity)(https://developer.android.com/reference/android/app/Activity.html activity)` `void` `https://developer.android.com/reference/android/app/Dialog.html#setTitle(int)(int titleId)` `final void` `https://developer.android.com/reference/android/app/Dialog.html#setVolumeControlStream(int)(int streamType)` `void` `https://developer.android.com/reference/android/app/Dialog.html#show()()` `void` `https://developer.android.com/reference/android/app/Dialog.html#takeKeyEvents(boolean)(boolean get)` `void` `https://developer.android.com/reference/android/app/Dialog.html#unregisterForContextMenu(android.view.View)(https://developer.android.com/reference/android/view/View.html view)` From [androidx.lifecycle.LifecycleOwner](https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner) `abstract https://developer.android.com/reference/androidx/lifecycle/Lifecycle` `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner#getLifecycle()()`

The `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` of this owner.
From [androidx.navigationevent.NavigationEventDispatcherOwner](https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcherOwner) `abstract https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcherOwner#getNavigationEventDispatcher()()`

The `https://developer.android.com/reference/androidx/navigationevent/NavigationEventDispatcher` that should handle the navigation events.
From [androidx.activity.OnBackPressedDispatcherOwner](https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcherOwner) `abstract https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcherOwner#getOnBackPressedDispatcher()()`

The `https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher` that should handle the system back button.
From [androidx.savedstate.SavedStateRegistryOwner](https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner) `abstract https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner#getSavedStateRegistry()()`

The `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistry` owned by this `https://developer.android.com/reference/androidx/savedstate/SavedStateRegistryOwner`.
From [android.view.Window.Callback](https://developer.android.com/reference/android/view/Window.Callback.html) `void` `https://developer.android.com/reference/android/view/Window.Callback.html#onPointerCaptureChanged(boolean)(boolean hasCapture)` `void` `https://developer.android.com/reference/android/view/Window.Callback.html#onProvideKeyboardShortcuts(java.util.List&lt;android.view.KeyboardShortcutGroup&gt;, android.view.Menu, int)(
https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/view/KeyboardShortcutGroup.html> data,
https://developer.android.com/reference/android/view/Menu.html menu,
int deviceId
)`

## Public constructors

### MediaRouteChooserDialog

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public MediaRouteChooserDialog(@NonNull Context context)
```

### MediaRouteChooserDialog

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public MediaRouteChooserDialog(@NonNull Context context, int theme)
```

## Public methods

### dismiss

```
public void dismiss()
```

### getRouteSelector

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public @NonNull MediaRouteSelector getRouteSelector()
```

Gets the media route selector for filtering the routes that the user can select.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector` | The selector, never null. |

### onAttachedToWindow

```
public void onAttachedToWindow()
```

### onDetachedFromWindow

```
public void onDetachedFromWindow()
```

### onFilterRoute

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public boolean onFilterRoute(@NonNull MediaRouter.RouteInfo route)
```

Returns true if the route should be included in the list.

The default implementation returns true for enabled non-default routes that match the selector. Subclasses can override this method to filter routes differently.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter.RouteInfo route` | The route to consider, never null. |

| Returns |
|---|---|
| `boolean` | True if the route should be included in the chooser dialog. |

### onFilterRoutes

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public void onFilterRoutes(@NonNull List<MediaRouter.RouteInfo> routes)
```

Called to filter the set of routes that should be included in the list.

The default implementation iterates over all routes in the provided list and removes those for which `https://developer.android.com/reference/androidx/mediarouter/app/MediaRouteChooserDialog#onFilterRoute(androidx.mediarouter.media.MediaRouter.RouteInfo)` returns false.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter.RouteInfo> routes` | The list of routes to filter in-place, never null. |

### refreshRoutes

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public void refreshRoutes()
```

Refreshes the list of routes that are shown in the chooser dialog.

### setRouteSelector

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
public void setRouteSelector(@NonNull MediaRouteSelector selector)
```

Sets the media route selector for filtering the routes that the user can select.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteSelector selector` | The selector, must not be null. |

### setTitle

```
public void setTitle(@Nullable CharSequence title)
```

### setTitle

```
public void setTitle(int titleId)
```

## Protected methods

### onCreate

```
protected void onCreate(@Nullable Bundle savedInstanceState)
```