如何通过程序访问chromecast图标



我试图获得对MediaRouteButton的引用,它是强制转换图标,但我一直得到一个空值。只是想看看是否有人知道如何获得这个按钮的引用。我正在使用onGlobalLayoutListener来获取通知。

如果您正在使用CCL,您应该能够轻松使用ShowCaseView;看看CastVideos安卓应用程序,看看它是如何做到的,基本上你可以使用回调onCastDeviceDetected()在播放按钮出现时得到通知,然后做一些类似的事情:

        Menu menu = mToolbar.getMenu();
        View view = menu.findItem(R.id.media_route_menu_item).getActionView();
        if (view != null && view instanceof MediaRouteButton) {
            new ShowcaseView.Builder(this)
                    .setTarget(new ViewTarget(view))
                    .setContentTitle(R.string.touch_to_cast)
                    .build();
        }

这假设您有一个工具栏。

编辑:如果您有ActionBar,请尝试以下操作:

new ShowcaseView.Builder(this)
    .setTarget(new ActionViewTarget(this, ActionViewTarget.Type.MEDIA_ROUTE_BUTTON))
    .setContentTitle(R.string.touch_to_cast)
    .build();

在某个时候,我已经向ShowCaseView项目提交了一个补丁来覆盖MediaRoute按钮,所以希望它仍然有效;自从我现在使用Toolbar以来,我最近还没有尝试过。

最新更新