В моем приложении, я реализовал GoogleSignInApi, с этим кодом:Android | Google Api для входа в аккаунт иногда не работает
в OnCreate:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.server_client_id))
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, null /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
в AsyncTask
if (mGoogleApiClient != null)
mGoogleApiClient.connect();
if (mGoogleApiClient != null) {
ConnectionResult result = mGoogleApiClient.blockingConnect();
if(result.isSuccess()){
GoogleSignInResult googleSignInResult = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient).await();
GoogleSignInAccount account = googleSignInResult.getSignInAccount();
authToken = account.getIdToken();
}else {
return null;
}
}else{
return null;
}
The приложение сбой «При попытке вызвать виртуальный метод» java.lang.String com.google.android.gms.auth.api.signin.GoogleSignInAccount.getIdToken() для ссылки на нулевой объект »(учетная запись null!)
Теперь я Объявление ded if (account! = null) {get error}, но почему учетная запись может быть нулевой, если «result.isSuccess()»?
Хорошо, спасибо ... Но пользователь скажет мне, что он аутентифицирован, а приложение сбой 'на account.getIdToken()'. С моим устройством или эмулятором у меня нет этой проблемы. Я понятия не имею, что делать. –