Ich möchte die Cast-Funktion nur aufgrund bestimmter Kriterien aktivieren, daher möchte ich keine Cast-Logik in meinem onCreate. Ich habe eine setupCast Methode, die den folgenden Code hat:So initialisieren Sie CastContext außerhalb der onCreate-Methode
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);
}
}
Die Anwendung Empfänger-ID wird über einen HTTP-Aufruf übergeben und wenn die appId null ist, nicht Guss starten. Das Problem, das ich habe, ist, dass meine Cast-Schaltfläche nicht angezeigt wird, wenn mCastContext auf diese Weise initialisiert wird.
Allerdings, wenn ich nur bewegen:
mCastContext = CastContext.getSharedInstance(_movieActivityContext);
In mein onCreate Methode und halten alles andere so, wie es ist, zeigt die Cast-Taste nach oben.