我有一个自定义的 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/