【问题标题】:Displaying the MediaRouteButton for Chromecast in the action bar在操作栏中显示 Chromecast 的 MediaRouteButton
【发布时间】:2013-07-28 12:29:27
【问题描述】:

支持 Chromecast 的 Netflix 和 YouTube 应用程序在操作栏中显示 MediaRouteButton,但 Sender App Tutorial 仅显示如何在布局中显示它。如何在操作栏中显示它?

【问题讨论】:

    标签: android google-cast chromecast


    【解决方案1】:

    您可以通过将其添加到操作栏菜单来将其显示在操作栏中:

    <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"/>
    

    然后你在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;
    }
    

    【讨论】:

    • 请给我一个解决方案,使用 ActionBarSherlock lib 在操作栏中显示投射图标。谢谢
    • 如果我在onCreateOptionsMenu 上添加该代码,那么我会得到一个始终禁用的按钮。如果我把它放在onPrepareOptionsMenu 上,那么按钮就可以正常工作,除非我旋转屏幕,在这种情况下,即使我已经选择了一个设备,它也会恢复为启用状态。有过这样的问题吗?
    • @HirenPatel 此答案已有 2 年历史,可能已过时。我建议开始一个新问题。
    猜你喜欢
    • 2014-03-13
    • 2012-12-15
    • 2015-05-09
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多