belongs to Maven artifact com.android.support:mediarouter-v7:28.0.0-alpha1
MediaRouteActionProvider
  public
  
  
  
  class
  MediaRouteActionProvider
  
  
  
  
    extends ActionProvider
  
  
  
  
  
  
| java.lang.Object | ||
| ↳ | android.support.v4.view.ActionProvider | |
| ↳ | android.support.v7.app.MediaRouteActionProvider | |
The media route action provider displays a media route button
 in the application's ActionBar to allow the user to select routes and
 to control the currently selected route.
 
 The application must specify the kinds of routes that the user should be allowed
 to select by specifying a selector with the
 setRouteSelector(MediaRouteSelector) method.
 
 Refer to MediaRouteButton for a description of the button that will
 appear in the action bar menu.  Note that instead of disabling the button
 when no routes are available, the action provider will instead make the
 menu item invisible.  In this way, the button will only be visible when it
 is possible for the user to discover and select a matching route.
 
Prerequisites
 To use the media route action provider, the activity must be a subclass of
 AppCompatActivity from the android.support.v7.appcompat
 support library.  Refer to support library documentation for details.
 
Example
The application should define a menu resource to include the provider in the action bar options menu. Note that the support library action bar uses attributes that are defined in the application's resource namespace rather than the framework's resource namespace to configure each item.
 <menu xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto">
     <item android:id="@+id/media_route_menu_item"
         android:title="@string/media_route_menu_title"
         app:showAsAction="always"
         app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"/>
 </menu>
 Then configure the menu and set the route selector for the chooser.
 public class MyActivity extends AppCompatActivity {
     private MediaRouter mRouter;
     private MediaRouter.Callback mCallback;
     private MediaRouteSelector mSelector;
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         mRouter = Mediarouter.getInstance(this);
         mSelector = new MediaRouteSelector.Builder()
                 .addControlCategory(MediaControlIntent.CATEGORY_LIVE_AUDIO)
                 .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
                 .build();
         mCallback = new MyCallback();
     }
     // Add the callback on start to tell the media router what kinds of routes
     // the application is interested in so that it can try to discover suitable ones.
     public void onStart() {
         super.onStart();
         mediaRouter.addCallback(mSelector, mCallback,
                 MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);
         MediaRouter.RouteInfo route = mediaRouter.updateSelectedRoute(mSelector);
         // do something with the route...
     }
     // Remove the selector on stop to tell the media router that it no longer
     // needs to invest effort trying to discover routes of these kinds for now.
     public void onStop() {
         super.onStop();
         mediaRouter.removeCallback(mCallback);
     }
     public boolean onCreateOptionsMenu(Menu menu) {
         super.onCreateOptionsMenu(menu);
         getMenuInflater().inflate(R.menu.sample_media_router_menu, menu);
         MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
         MediaRouteActionProvider mediaRouteActionProvider =
                 (MediaRouteActionProvider)MenuItemCompat.getActionProvider(mediaRouteMenuItem);
         mediaRouteActionProvider.setRouteSelector(mSelector);
         return true;
     }
     private final class MyCallback extends MediaRouter.Callback {
         // Implement callback methods as needed.
     }
 }
 See also:
Summary
| Public constructors | |
|---|---|
| 
      MediaRouteActionProvider(Context context)
      Creates the action provider. | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        MediaRouteDialogFactory | 
      getDialogFactory()
      Gets the media route dialog factory to use when showing the route chooser or controller dialog. | 
| 
        
        
        
        
        
        MediaRouteButton | 
      getMediaRouteButton()
      Gets the associated media route button, or null if it has not yet been created. | 
| 
        
        
        
        
        
        MediaRouteSelector | 
      getRouteSelector()
      Gets the media route selector for filtering the routes that the user can select using the media route chooser dialog. | 
| 
        
        
        
        
        
        boolean | 
      isVisible()
      If  | 
| 
        
        
        
        
        
        View | 
      onCreateActionView()
      Factory method for creating new action views. | 
| 
        
        
        
        
        
        MediaRouteButton | 
      onCreateMediaRouteButton()
      Called when the media route button is being created. | 
| 
        
        
        
        
        
        boolean | 
      onPerformDefaultAction()
      Performs an optional default action. | 
| 
        
        
        
        
        
        boolean | 
      overridesItemVisibility()
      The result of this method determines whether or not  | 
| 
        
        
        
        
        
        void | 
      setDialogFactory(MediaRouteDialogFactory factory)
      Sets the media route dialog factory to use when showing the route chooser or controller dialog. | 
| 
        
        
        
        
        
        void | 
      setRouteSelector(MediaRouteSelector selector)
      Sets the media route selector for filtering the routes that the user can select using the media route chooser dialog. | 
| Inherited methods | |
|---|---|
| 
  
    android.support.v4.view.ActionProvider
  
 | |
| 
  
    java.lang.Object
  
 | |
Public constructors
MediaRouteActionProvider
MediaRouteActionProvider (Context context)
Creates the action provider.
| Parameters | |
|---|---|
| context | Context: The context. | 
Public methods
getDialogFactory
MediaRouteDialogFactory getDialogFactory ()
Gets the media route dialog factory to use when showing the route chooser or controller dialog.
| Returns | |
|---|---|
| MediaRouteDialogFactory | The dialog factory, never null. | 
getMediaRouteButton
MediaRouteButton getMediaRouteButton ()
Gets the associated media route button, or null if it has not yet been created.
| Returns | |
|---|---|
| MediaRouteButton | |
getRouteSelector
MediaRouteSelector getRouteSelector ()
Gets the media route selector for filtering the routes that the user can select using the media route chooser dialog.
| Returns | |
|---|---|
| MediaRouteSelector | The selector, never null. | 
isVisible
boolean isVisible ()
If overridesItemVisibility() returns true, the return value of this method
 will help determine the visibility of the MenuItem this ActionProvider is bound to.
 
If the MenuItem's visibility is explicitly set to false by the application, the MenuItem will not be shown, even if this method returns true.
| Returns | |
|---|---|
| boolean | true if the MenuItem this ActionProvider is bound to is visible, false if it is invisible. The default implementation returns true. | 
onCreateActionView
View onCreateActionView ()
Factory method for creating new action views.
| Returns | |
|---|---|
| View | A new action view. | 
onCreateMediaRouteButton
MediaRouteButton onCreateMediaRouteButton ()
Called when the media route button is being created.
Subclasses may override this method to customize the button.
| Returns | |
|---|---|
| MediaRouteButton | |
onPerformDefaultAction
boolean onPerformDefaultAction ()
Performs an optional default action.
For the case of an action provider placed in a menu item not shown as an action this method is invoked if previous callbacks for processing menu selection has handled the event.
A menu item selection is processed in the following order:
- Receiving a call to
 MenuItem.OnMenuItemClickListener.onMenuItemClick.
- Receiving a call to
 onOptionsItemSelected(android.view.MenuItem)FragmentActivity.onOptionsItemSelected(MenuItem)}
- Receiving a call to
 onOptionsItemSelected(android.view.MenuItem)Fragment.onOptionsItemSelected(MenuItem)}
- Launching the Intentset viaMenuItem.setIntent(android.content.Intent)
- Invoking this method.
The default implementation does not perform any action and returns false.
| Returns | |
|---|---|
| boolean | |
overridesItemVisibility
boolean overridesItemVisibility ()
The result of this method determines whether or not isVisible() will be used
 by the MenuItem this ActionProvider is bound to help determine its visibility.
| Returns | |
|---|---|
| boolean | true if this ActionProvider overrides the visibility of the MenuItem it is bound to, false otherwise. The default implementation returns false. | 
setDialogFactory
void setDialogFactory (MediaRouteDialogFactory factory)
Sets the media route dialog factory to use when showing the route chooser or controller dialog.
| Parameters | |
|---|---|
| factory | MediaRouteDialogFactory: The dialog factory, must not be null. | 
setRouteSelector
void setRouteSelector (MediaRouteSelector selector)
Sets the media route selector for filtering the routes that the user can select using the media route chooser dialog.
| Parameters | |
|---|---|
| selector | MediaRouteSelector: The selector, must not be null. | 
- Interfaces
- Classes- ActionBar
- ActionBar.LayoutParams
- ActionBar.Tab
- ActionBarDrawerToggle
- AlertDialog
- AlertDialog.Builder
- AppCompatActivity
- AppCompatDelegate
- AppCompatDialog
- AppCompatDialogFragment
- AppCompatViewInflater
- MediaRouteActionProvider
- MediaRouteButton
- MediaRouteChooserDialog
- MediaRouteChooserDialogFragment
- MediaRouteControllerDialog
- MediaRouteControllerDialogFragment
- MediaRouteDialogFactory
- MediaRouteDiscoveryFragment
 
