CastCompanionLibrary 和不扩展 ActionBarActivity

Posted

技术标签:

【中文标题】CastCompanionLibrary 和不扩展 ActionBarActivity【英文标题】:CastCompanionLibrary and Not Extending ActionBarActivity 【发布时间】:2014-03-12 12:20:29 【问题描述】:

我们的应用程序仅针对 API 级别 14 及更高级别,因此我们不扩展 ActionBarActivity 或使用任何兼容性库。

是否仍然可以使用CastCompanionLibrary,因为它似乎假设一个人正在使用兼容库并扩展ActionBarActivity

谢谢

【问题讨论】:

【参考方案1】:

答案是否定的。如果你想使用 Cast 功能,你需要有来自 v7-support 库的媒体路由器(android 框架中的 MediaRouter 本身是不够的/没有在 cast 中使用)。 v7-support 媒体路由器库依赖于 v7-support appcompat 库。所以简而言之,无论你使用什么 api 级别,如果你想使用 Cast SDK,你需要在你的项目中存在这两个支持库。然后要显示 Cast 图标,您有几个选项;对于其中一个,您的活动必须扩展 ActionBarActivity(CCL 支持此),而对于 MediaRouterButton 方法,它必须扩展 FragmentActivity(我可能会考虑向 CCL 添加对此的支持)。如果您只使用 Activity 但需要两个支持库,则可以手动添加按钮并使其工作,CCL 不处理这些其他情况。

更新:CCL 现在支持 FragmentActivity 和 MediaRouteButton。

【讨论】:

我们确实扩展了 FragmentActivity,因此对此的支持将是理想的。感谢您的详细回复。 @Steve:请注意,没有什么可以阻止某人移植 MediaRouteActionProviderMediaRouteButton 以使用本机 API 级别 11 版本的操作栏和片段。这花了我一两个小时。我最终会将我的结果发布为可重用的库。将它们移植到使用FragmentActivity 而不是ActionBarActivity 应该更简单,可能只需几行代码。

以上是关于CastCompanionLibrary 和不扩展 ActionBarActivity的主要内容,如果未能解决你的问题,请参考以下文章

使用 CastCompanionLibrary 仅投射音频?

使用 CastCompanionLibrary 将“播放列表”推送到 Chromecast

使用适用于 Android 的 CastCompanionLibrary 扫描设备

Google CastCompanionLibrary 许可证?

R 无法解析为 Eclipse 中 CastCompanionLibrary 上的变量

mediaroutebutton CastCompanionLibrary 上的连接动画