android - 启动自定义 Chromecast 接收器有时会超时

标签 android chromecast

我有一个自定义的 Chromecast 接收器,当用户从 Cast 按钮选择他们的 Chromecast 设备时,我会从 Android 应用启动它。我发现我经常在初始连接时超时,但第二次它工作正常。问题很可能是我的网络服务器响应速度不够快,还是有其他因素可能导致超时?

我在 onApplicationConnectionFailed() 中获取 CastStatusCodes.TIMEOUT。

我要启动的代码 (编辑以包括 launchApplication)

Builder builder = new GoogleApiClient.Builder(mContext);
builder.addApi(Cast.API, apiOptionsBuilder.build());
builder.addConnectionCallbacks(this);
builder.addOnConnectionFailedListener(this);
mApiClient = builder.build();

if (mApiClient == null) return;
mApiClient.connect();

...

Cast.CastApi.launchApplication(mApiClient, mApplicationId)
 .setResultCallback(new ResultCallback<Cast.ApplicationConnectionResult>() {

    @Override
    public void onResult(ApplicationConnectionResult result) {
        if (result.getStatus().isSuccess()) {
            onApplicationConnected(
                result.getApplicationMetadata(),
                result.getApplicationStatus(),
                result.getSessionId(),
                result.getWasLaunched());
        } else {
                onApplicationConnectionFailed(result.getStatus().getStatusCode());
        }
    }
});   

最佳答案

您发布的代码是在加载应用程序之前发布的,因此如果您在 onApplicationConnectionFailed 中遇到超时,那么它在您的代码中更靠后,而不是您在此处发布的部分。如果是您的应用程序加载失败,您需要检查您的网络和网络服务器等。

关于android - 启动自定义 Chromecast 接收器有时会超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21939594/

相关文章:

android - 如何从 DialogFragment 上的按钮刷新 RecyclerView

android - 两次设置LayoutParams,没有效果?

android - 如何使用 Google Cast SDK 3 添加自定义 SessionProvider

javascript - Chromecast – 从 Chrome 连接到其他设备 session

chromecast - 如何在 Minimal Media Route Provider 中更新音量条

ios - 用户切换电视源时在应用程序上管理 GCKDevices

java - 即使我使用了正确的尺寸(hdpi、mdpi、xxhdpi ...),选项卡上的图像图标也显得很小

android - 在特定任务中使用 NFC 启动 Activity

ios - Chromecast - 阻止 loadMedia 直到前一个返回

android - 在 Activity 代码android中引用包含布局