【发布时间】:2016-12-08 10:21:58
【问题描述】:
由于某些条件,我只想激活 Cast 功能,因此我不想在我的 onCreate 中使用任何 Cast 逻辑。我有一个 setupCast 方法,它具有以下代码:
private void setupCast(String appId) {
if (appId != null) {
Log.d(TAG, "Setting up Cast...");
setupCastListener();
CastOptionsProvider.setAppId(appId);
mCastContext = CastContext.getSharedInstance(_movieActivityContext);
mCastContext.registerLifecycleCallbacksBeforeIceCreamSandwich(this, _savedInstanceState);
mCastSession = mCastContext.getSessionManager().getCurrentCastSession();
mCastContext.getSessionManager().addSessionManagerListener(
mSessionManagerListener, CastSession.class);
mediaRouteMenuItem = CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), _menuForChromecastButton, R.id.media_route_menu_item);
}
}
应用程序接收者 ID 通过 http 调用传入,如果 appId 为空,则不启动 Cast。我遇到的问题是,以这种方式初始化 mCastContext 时,我的 Cast 按钮没有出现。
但是,如果我只移动:
mCastContext = CastContext.getSharedInstance(_movieActivityContext);
进入我的 onCreate 方法并保持其他所有内容不变,Cast 按钮就会显示出来。
【问题讨论】:
标签: java android casting chromecast google-cast