为什么GoogleApiClient的blockingConnect方法返回ConnectionResult.CANCELED,而在同一个调用期间,我从OnConnectionFailedListener获取ConnectionResult.SIGN_IN_REQUIRED?
我认为blockingConnect方法应该返回与OnConnectionFailedListener.onConnectionFailed中相同的ConnetionResult。
这是GoogleApiClient中的错误吗?
下面是一个示例代码(应该在后台线程中执行)。
GoogleApiClient googleApiClient = new GoogleApiClient.Builder(LoginActivity.this)
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
}
})
.build();
ConnectionResult connectionResult = googleApiClient.blockingConnect(30, TimeUnit.SECONDS);
我正在使用'com.google.android.gms:play-services-plus:7.3.0'
答案 0 :(得分:1)
也有这个问题。这就是我到目前为止所做的事情。 当您在构建GoogleApiClient时明确设置帐户名称时,blockingConnect方法返回SUCCESS。否则返回CANCELED。但是,作为评论中提到的nLL,blockingConnect特别在早期的Play服务版本6.5.87中返回SIGN_IN_REQUIRED,因此您可以尝试使用此版本。