Display MediaRouteButton for Chromecast in the action bar

Netflix and YouTube apps that support Chromecast display MediaRouteButton in the action bar, but the sender app shows how to display it in the layout. How do you display it in the action bar?

+7
android chromecast google-cast
source share
1 answer

You can display it in the action bar by adding it to the action bar menu:

<item android:id="@+id/action_mediaroute" android:actionProviderClass="android.support.v7.app.MediaRouteActionProvider" android:actionViewClass="android.support.v7.app.MediaRouteButton" android:showAsAction="always" android:title="@string/action_chromecast"/> 

Then you provide initialization in onCreateOptionsMenu :

 public boolean onCreateOptionsMenu( Menu menu ) { getMenuInflater().inflate( R.menu.main, menu ); MenuItem mediaRouteItem = menu.findItem( R.id.action_mediaroute ); mMediaRouteButton = (MediaRouteButton) mediaRouteItem.getActionView(); mCastContext = new CastContext( getApplicationContext() ); MediaRouteHelper.registerMinimalMediaRouteProvider( mCastContext, this ); mMediaRouter = MediaRouter.getInstance( getApplicationContext() ); mMediaRouteSelector = MediaRouteHelper.buildMediaRouteSelector( MediaRouteHelper.CATEGORY_CAST ); mMediaRouteButton.setRouteSelector( mMediaRouteSelector ); mMediaRouterCallback = new MyMediaRouterCallback(); return true; } 
+17
source share

All Articles