Android 支持 MediaRouter 不检测辅助显示器

Android Support MediaRouter not detecting secondary displays

媒体路由器支持库找不到使用 MediaControlIntent.CATEGORY_LIVE_VIDEO 的辅助显示器的路由,如 documentation 中所述。

我是否遗漏了 MediaRouter 检测辅助显示器所需的任何标志或关键步骤?(下面的代码)

使用 appcompat-v7:23.0.1mediarouter-v7:23.0.1,无法通过 MHL 适配器检测到模拟辅助显示器或辅助显示器。

这是我的 MediaRouteSelector 初始化:

mMediaRouteSelector = new MediaRouteSelector.Builder()
            .addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
            .build();

这里是选择器注册到 MediaRouter 的地方:

mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback,
            MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);

这是动作项初始化:

MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
        if (mediaRouteMenuItem != null) {
            MediaRouteActionProvider mediaRouteActionProvider =
                (MediaRouteActionProvider) MenuItemCompat.getActionProvider(mediaRouteMenuItem);
            if (mediaRouteActionProvider != null) {
                mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
            }
        }

我创建了一个第三方库来报告辅助显示,我们亲切地命名为 SecondaryDisplayMediaRouteProvider

媒体路由器仅支持无线辅助显示器,例如 CATEGORY_LIVE_VIDEO 的无线显示器 - 媒体路由器不支持 MHL 等有线连接 - 相反,它会自动用于镜像显示器。