【发布时间】:2014-03-11 08:36:17
【问题描述】:
我有一个控制 UPnP MediaRenderers 的 Android 应用,现在我想修改它以使用 Chromecast。
由于我必须混合使用 UPnP 和 Chromecast,而且我的应用没有使用 ActionBarCompat,我无法使用 Cast Companion Library,所以我尝试自己集成 Cast SDK,构建自定义按钮。
对于 UPnP,我使用的是 Cyberlink 库,因为使用 Android SDK 中的 WiFiP2PManager 我可以发现设备,但我似乎无法使用它制作完整的 UPnP 控制点。 (如果我错了,请纠正我!)
问题是我的手机中安装了 Koushik Dutta 的 AllCast,并且这个应用程序已经注册了一个新的 MediaRouterProviderService,所以现在我的 UPnP 渲染器显示了两次:一个是 Cyberlink 发现的渲染器,另一个是由 Cyberlink 发现的 MediaRoute投射 SDK!
我不想删除 Cyberlink,因为那样我的应用程序将依赖于安装 AllCast。但我不希望这些渲染器在我的 UI 中出现两次。
如何从我的设备发现中排除此 MediaRouterProvider?有没有办法识别这些重复项并过滤它们?
非常感谢。
【问题讨论】:
-
但根据 MediaRouteProvider javadoc,这不是预期的功能吗?
-
"媒体路由提供者也可以通过在提供者的清单中注册 MediaRouteProviderService 来对所有应用程序全局可用。当媒体路由提供者注册为服务时,所有使用媒体路由 API 的应用程序将能够发现和使用提供者的路线,而无需安装任何其他东西。”
标签: android upnp google-cast chromecast