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'
}
Ответы
Ответ 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 .