Подтвердить что ты не робот

Android Google Войти мигает небольшим пустым белым полем при входе в систему

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

Изменить: добавление графического воссоздания того, что происходит...

Представление

Я тестирую Samsung Tab 3.

Эта проблема не включает ситуацию, когда пользователь выполняет вход в систему в первый раз или после того, как был отменен доступ.

  GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
      .requestEmail()
      .requestIdToken(getString(R.string.google_server_client_id))
      .build();

  // google login stuff
  googlebutton = (com.google.android.gms.common.SignInButton) findViewById(R.id.googlebutton);
  googlebutton.setOnClickListener(this);
  googlebutton.setStyle(SignInButton.SIZE_STANDARD, SignInButton.COLOR_LIGHT);
  // Build GoogleApiClient with access to basic profile
  mGoogleApiClient = new GoogleApiClient.Builder(this)
      .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
      .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
      .build();

и функция входа...

private void gSignIn() {
  Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
  startActivityForResult(signInIntent, RC_SIGN_IN);
}

В идеале я хотел бы восстановить нормальное поведение строки выполнения.

Вот мой gradle...

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.0'

    defaultConfig {
        applicationId "xxxxxxxxx"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.google.android.gms:play-services-identity:8.4.0'
    compile 'com.google.android.gms:play-services-plus:8.4.0'
    compile 'com.google.android.gms:play-services-auth:8.4.0'
    //compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile 'com.android.support:design:23.0.1'
}
4b9b3361

Ответ 1

Попробуйте это не уверен: Это всего лишь ярлык, который вы применили к этому действию в манифесте, удалить это из этого действия

android:label="@string/app_name"

ИЛИ проверьте, есть ли в вашем файле макета какое-то пустое представление, которое становится видимым. Спасибо.

Ответ 2

я думаю, что вы не добавили

применить плагин: 'com.google.gms.google-services'

вне раздела зависимостей. также добавьте classpath в файл Gradle уровня проекта

classpath 'com.google.gms: google-services: 3.1.1'

обновить сервисы Google Play, инструменты платформы Android и инструменты сборки Android. иногда это происходит из-за конфликта версий попробуй это, но я не уверен в этом

Ответ 3

Я предполагаю, что вы использовали представление Button в XML, а затем вы переходите на com.google... SignInButton, потому что его пустое поле показывается какое-то время. Попробуйте изменить представление XML на com.google... SignInButton .