2016-12-05 2 views
1

Извините меня, если вы разместили question, я не получил ответа, и у меня все еще такая же проблема. Пытался это исправить, но не увенчался успехом. Любая помощь приветствуется.Android - Firebase Динамическая кнопка Facebook

Я хочу использовать кнопку входа в систему Facebook, чтобы подписать пользователей в мое приложение.

Теперь, когда нажата кнопка loginbutton, я вхожу в систему и продолжаю вторую операцию.

callbackManager = CallbackManager.Factory.create(); 
    LoginButton loginButton = (LoginButton) findViewById(R.id.loginButton); 
    loginButton.setReadPermissions("email", "public_profile"); 
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      Log.d(TAG, "facebook:onSuccess:" + loginResult); 
      handleFacebookAccessToken(loginResult.getAccessToken()); 
     } 

     @Override 
     public void onCancel() { 
      Log.d(TAG, "facebook:onCancel"); 
      // ... 
     } 

     @Override 
     public void onError(FacebookException error) { 
      Log.d(TAG, "facebook:onError", error); 
      // ... 
     } 
    }); 

Сейчас во 2-й активности, у меня есть кнопка Выход из который возвращает меня к 1-му деятельности и подписать мой счет я подписал в с. Код:

 AuthUI.getInstance() 
       .signOut(this) 
       .addOnCompleteListener(new OnCompleteListener<Void>() { 
        @Override 
        public void onComplete(@NonNull Task<Void> task) { 
         finish(); 
        } 
       }); 

Теперь все работает нормально, за исключением вывески.

Он выдает учетную запись (я вижу ее в своем журнале). Но когда я вернусь к MainActivity, динамическая кнопка входа в Facebook все еще говорит: Sign out, пока он уже должен сказать Sign in with Facebook.

Это кнопка Facebook я использую:

<com.facebook.login.widget.LoginButton 
    android:id="@+id/loginButton" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:layout_marginBottom="56dp" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentStart="true" /> 

Я гугле, но я не мог найти ничего. Пытался изменить знак из метода в

FirebaseAuth.getInstance().signOut(); 

Но это было без какого-либо другого результата.

ответ

1

У меня был такой же плохой опыт. Наконец, я использую LoginManager для аутентификации Facebook и сделал что-то вроде этого:

public void logOut() { 
    FirebaseAuth.getInstance().signOut(); 
    LoginManager.getInstance().logOut(); 
} 
+0

Спасибо, человек сделал это! Никто не мог ответить мне, но ты только что сделал! –