Как исправить функцию опции входа в Google, получающую дубликат и сбой при переключении между таблоутами - PullRequest
0 голосов
/ 18 октября 2019

// Это код, который я вставил во фрагмент для входа в систему с помощью кнопки Google, но когда я переключаюсь между вкладками, он говорит, что gso дублируется

 //Google
        // Configure sign-in to request the user's ID, email address, and basic
        // profile. ID and basic profile are included in DEFAULT_SIGN_IN.
        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.default_web_client_id))
                .requestProfile()
                .requestEmail()
                .build();


        // Build a GoogleSignInClient with the options specified by gso.
        mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
                .enableAutoManage(getActivity()/*FragmentActivity*/, new GoogleApiClient.OnConnectionFailedListener() {
                    @Override
                    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
                        // your code here
                    }
                })
                .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                .build();

// Это ошибка

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.indofun.android.indojoy, PID: 29659
java.lang.IllegalStateException: Already managing a GoogleApiClient with id 0
    at com.google.android.gms.common.internal.Preconditions.checkState(Unknown Source:29)
    at com.google.android.gms.common.api.internal.zaj.zaa(Unknown Source:14)
    at com.google.android.gms.common.api.GoogleApiClient$Builder.build(Unknown Source:135)
    at com.indofun.android.indojoy.Support.LoginFirstFragment.onCreateView(LoginFirstFragment.java:227)
    at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)
    at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
    at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
    at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
    at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
    at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
    at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
    at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6938)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
* +1006 *

V // б /: 3 ENC AgGQdDMuiDfQ5lI0RVVyNxy8sOmjBU / 8FMfb2Hetx2w7P1wKPsELt9r6l7x6 + bh7F2A4Be99mxObTv + jUiJMHj + OhSyp79RUYyQN6WIogY6QGVjByBBHBk1X8GuF2SuJ8Qt / + VnCh2NwXrqfTLpZIY96iafHP37i83fbJe2e6fo2Hp8jIr50SHOwwtWAMHM + DLE = rncryptor_process вл passwordf: a598cfba8ce19716ee349a56a2070695 rncryptor_process вл STRF: { "sdk_key": "T9AvaPr0", "приложение": "IDJY", "id_user": "Ga Ada ID пользователя"} rncryptorUpdateProfile AgGQdDMuiDfQ5lI0RVVyNxy8sOmjBU / 8FMfb2Hetx2w7P1wKPsELt9r6l7x6 + bh7F2A4Be99mxObTv + jUiJMHj + OhSyp79RUYyQN6WIogY6QGVjByBBHBk1X8GuF2SuJ8Qt / + VnCh2NwXrqfTLpZIY96iafHP37i83fbJe2e6fo2Hp8jIr50SHOwwtWAMHM + DLE = V // б /: okHttpClient_call s_u http://api.indojoy.id/1.0/profile/load V //b /: ViewProfileResponse: {"s": 0, "d": {"ec": - 1021, "m": "Неверный id_user, пользователь не найден."}} doAPIIndojoy onResponse ResponseValid 0 Webapi doAPIIndojoy ();e org.json.JSONException: нет значения для имени doAPIIndojoy onResponse HitCallback {"s": 0, "d": {"ec": - 1021, "m": "недопустимый id_user, пользователь не найден."}} doAPIIndojoy onResponseHitResponseResponse {protocol = http / 1.1, code = 200, message = OK, url = http://api.indojoy.id/1.0/profile/load} I / System.out: (HTTPLog) -Static: isSBSettingEnabled false I / System.out: (HTTPLog) -Static:isSBSettingEnabled false E / cr_PlatformSer-Internal: запрос на использование отчета не выполнен

1 Ответ

0 голосов
/ 18 октября 2019

Я получил его, вам нужно активировать его, когда вы нажимаете кнопку Google, а не при создании представления, спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...