【发布时间】:2014-03-12 12:20:29
【问题描述】:
我们的应用程序仅针对 API 级别 14 及更高级别,因此我们不扩展 ActionBarActivity 或使用任何兼容性库。
是否仍然可以使用CastCompanionLibrary,因为它似乎假设一个人正在使用兼容库并扩展ActionBarActivity?
谢谢
【问题讨论】:
标签: chromecast
我们的应用程序仅针对 API 级别 14 及更高级别,因此我们不扩展 ActionBarActivity 或使用任何兼容性库。
是否仍然可以使用CastCompanionLibrary,因为它似乎假设一个人正在使用兼容库并扩展ActionBarActivity?
谢谢
【问题讨论】:
标签: chromecast
答案是否定的。如果你想使用 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。
【讨论】:
MediaRouteActionProvider 和 MediaRouteButton 以使用本机 API 级别 11 版本的操作栏和片段。这花了我一两个小时。我最终会将我的结果发布为可重用的库。将它们移植到使用FragmentActivity 而不是ActionBarActivity 应该更简单,可能只需几行代码。