Ошибка входа в Google после частого входа и выхода

Сначала я могу войти в свое приложение с учетной записью Google несколько раз. Все отлично.

Но если я войду и выйду около 20 раз в течение одной или двух минут. Не удалось войти в GoogleonActivityResult функция возвращает код ошибки 12501, resultCode = 0;

Я пользуюсь телефоном: Nexus 6, Android 5.1.1

Вот мой код:

private GoogleSignInOptions mGso;
private GoogleApiClient mGac;

public void init(@NonNull final BaseActivity activity) {
    mGso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(activity.getString(R.string.default_web_client_id))
            .requestEmail()
            .build();

    mGac = new GoogleApiClient.Builder(activity)
            .enableAutoManage(activity /* FragmentActivity */, new GoogleApiClient.OnConnectionFailedListener() {
                @Override
                public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
                    ToastUtils.show(activity, R.string.login_failed);
                }
            })
            .addApi(Auth.GOOGLE_SIGN_IN_API, mGso)
            .build();
}

public void signIn(@NonNull final BaseActivity activity,
                   @NonNull GoogleSignInCallback callback,
                   @NonNull final OnLoadingListener<PlatformUserEntity> listener) {

    callback.registerCallback(listener);
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGac);
    activity.startActivityForResult(signInIntent, REQUEST_GOOGLE_SIGNIN);

    // disconnect the client
    mGac.stopAutoManage(activity);
    mGac.disconnect();

}

Вот градл:

compile 'com.google.android.gms:play-services-base:9.6.1'
compile 'com.google.android.gms:play-services-gcm:9.6.1'
compile 'com.google.android.gms:play-services-auth:9.6.1'

Во-первых, я запускаю GoogleApiClient с FragmentActivity, затем функция входа запускает Acitvity. GoogleSignInCallback регистрируется в функции onActivityResult. Затем отключите клиент, поскольку при каждом нажатии кнопки входа в систему будет вызываться функция init.

Я сомневаюсь, что я используюstopAutoManage() слишком рано, но, похоже, это не так. Так что я запутался, какая часть может быть не так?

Я заметил журнал:

Could not set socket write timeout: null
12-03 17:21:43.859 264-264/? W/SurfaceFlinger: couldn't log to binary event log: overflow.
12-03 17:21:43.902 1946-12870/? W/Conscrypt: Could not set socket write timeout: null
12-03 17:21:44.327 21168-21168/? W/AccountChipsFragment: Recording consent failed.
12-03 17:21:44.657 29359-29782/? E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE
12-03 17:21:44.664 812-1072/? W/ActivityManager: getRunningAppProcesses: caller 10145 does not hold REAL_GET_TASKS; limiting output
12-03 17:21:44.697 21168-21168/? W/AutoManageHelper: Unresolved error while connecting client. Stopping auto-manage.

В нем говорилось «У вас неправильная конфигурация, связанная с OAuth2», но я мог бы использовать идентификатор веб-клиента, чтобы запросить IdToken в первый раз.

Это только делает меня более запутанным.

Я также нашел странную вещь. Если я устанавливаю apk, который создается локально, эта ошибка никогда не возникала. Если я скачаю из магазина Google Play, эта ошибка произошла. Но нет никакой разницы между этими двумя apks, потому что я поставляю магазин Google с местным.

Ответы на вопрос(3)

Ваш ответ на вопрос