我正在尝试让我的媒体路由选择器显示MiraCast和Chromecast设备。我有一个Chromecast接收器应用程序,并且还在Android中使用Presentation API,因此理想情况下,用户只需要单击媒体路由器按钮并选择他们拥有的设备,甚至无需考虑它。我按照本指南(https://developer.android.com/guide/topics/media/mediarouter.html#selector)来实现此目的,并在图片中显示路线选择器中提供的Chromecast和无线显示。但是,添加控件类别后,我仍然只能看到Chromecast。
这是相关代码。
mMediaRouteSelector = new MediaRouteSelector.Builder()
.addControlCategory(MediaControlIntent.CATEGORY_LIVE_AUDIO)
.addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
.addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
.addControlCategory(CastMediaControlIntent.categoryForCast(CAST_APP_ID))
.build();
...
mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback,
MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);
我也尝试过更改回调标志,但没有看到任何变化。
编辑:
我最终为路由器按钮创建了一个自定义对话框工厂,并使用一个单独的布局,其中包含一个将用户发送到无线显示设置的按钮。不完全是我正在寻找的解决方案,但看起来我实际上想要做的事情不受支持。