如何在Android SDK for Chromecast中切换活动

时间:2015-01-01 19:27:35

标签: android sdk chromecast

我正在运行标准的Chromecast Sender应用程序。这是我用来连接chromecast的代码,然后转到下一个活动:

查找Chromecast 效果很好。

    // ===================
    // Configure Cast device discovery
    // ===================      
    mMediaRouter = MediaRouter.getInstance(getApplicationContext());
    mMediaRouteSelector = new MediaRouteSelector.Builder()
            .addControlCategory(
                    CastMediaControlIntent.categoryForCast(getResources()
                            .getString(R.string.app_id))).build();
    mMediaRouterCallback = new MyMediaRouterCallback();

点击按钮进行连接后,切换到新活动

/**
 * Callback for MediaRouter events
 */
public class MyMediaRouterCallback extends MediaRouter.Callback {

    @Override
    public void onRouteSelected(MediaRouter router, RouteInfo info) {
        Log.d(TAG, "onRouteSelected");
        // Handle the user route selection.
        mSelectedDevice = CastDevice.getFromBundle(info.getExtras());

        launchReceiver();           

        // CONNECTION ESTABLISHED, SWITCH TO NEW ACTIVITY
        startActivity(new Intent(ConnectActivity.this, MainActivity.class)); 

    }

}

问题现在出现在MainActivity.class上 - 我似乎已失去与Chromecast的连接,虽然我的图标明显标记为连接

1 个答案:

答案 0 :(得分:0)

您的连接应该在应用程序级别(或通过单件或服务)进行维护,这样您在更改活动时就不会遇到问题。使用选项卡布局是非常严格的方法。您可以使用CastCompanionLibrary并为您处理。