谷歌在他们的签出用户教程中指出:
注意:在调用GoogleApiClient.onConnected之前,必须确认已经调用了signOut。
但是,无论是在[消]基本实现还是旧的Google实现上,都不会在调用signOut()之前调用mGoogleApiClient实例上的GoogleApiClient.connect(),以便调用onConnected()。
那我该跟着什么呢?文件还是例子?
发布于 2016-12-01 21:29:10
答案是肯定的。必须调用GoogleApiClient.connect(),否则我们将得到一个IllegalStateException
java.lang.IllegalStateException: GoogleApiClient还没有连接。
所以你就是这样签字的:
mGoogleClient = new GoogleApiClient.Builder(getContext())
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(@Nullable Bundle bundle) {
//SIGN OUT HERE
Auth.GoogleSignInApi.signOut(mGoogleClient).setResultCallback(
new ResultCallback<Status>() {
@Override
public void onResult(Status status) {/*ignored*/}
});
}
@Override
public void onConnectionSuspended(int i) {/*ignored*/}
})
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
/*ignored*/
}
})
.addApi(Auth.GOOGLE_SIGN_IN_API) //IMPORTANT!!!
.build();
mGoogleClient.connect();所以我想他们在他们的示例代码中缺少了这个部分。
https://stackoverflow.com/questions/40898484
复制相似问题