Я добавил Facebook и Google, чтобы войти в мое приложение, используя:
private LoginButton facebook; //package com.facebook.login.widget;
private SignInButton googleSignIn; //package com.google.android.gms.common;
Обе кнопки работают, я бы хотел, чтобы пользователи не нажимали кнопки несколько раз (каждый раз, когда на них нажимают, отправляется другой запрос):
Оба случая обрабатываются в API Google и Facebook следующим образом:
При входе в Google есть список учетных записей Google устройства, и после нажатия я не могу поймать это событие, чтобы отключить кнопку, как только пользователь выбрал свою учетную запись
При входе в Facebook он обрабатывается обратным вызовом, зарегистрированным в пакете Facebook (к которому у меня нет доступа), и я также не могу отключить кнопку после нажатия.
Edit:
Код Facebook:
private void ActivateFacebook() {
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
facebook = (LoginButton) rootView.findViewById(R.id.fb);
((LoginButton) facebook).setReadPermissions("email");
((LoginButton) facebook).setFragment(this);
((LoginButton) facebook).registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
onFacebookLogin(loginResult);
}
@Override
public void onCancel() {}
@Override
public void onError(FacebookException error) {
Log.d(TAG, error.getMessage());
}
});
}
Какова наилучшая практика в достижении этого?
Спасибо!