<Ignore This Q>Статус сеанса Android Facebook UserSettingsFragment застрял при открытии

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

Я пытаюсь реализовать Логин с Facebook в моем приложении, используя UserSettingsFragment. Состояние сеанса, похоже, застряло на ОТКРЫТОМ. Он никогда не переходит в ОТКРЫТО. Я создал этот фрагмент следующим образом

if(userSettingsFragment==null){
    userSettingsFragment=new UserSettingsFragment();
    Session session = Session.getActiveSession();
    if(session==null || session.isClosed()){
        userSettingsFragment.setPublishPermissions(Arrays.asList("publish_actions"));
    }
    userSettingsFragment.setSessionStatusCallback(new Session.StatusCallback(){
        @Override
        public void call(Session session, SessionState state, Exception exception) {
            Log.i("LoginUsingFBMain", String.format("New session state: %s", state.toString()));
        }
    });
}
fragment=userSettingsFragment;
.
.
.
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.commit();

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

@Override
protected void onActivityResult(
        int requestCode, int resultCode, Intent data) {
    if(userSettingsFragment != null)
        userSettingsFragment.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);     


}

2 ответа

Решение

Нашел проблему. Мой хэш был неверным. Более новая версия SDK фактически дала мне сообщение об ошибке.

Вы переопределили метод onActivityResult() внутри фрагмента? Попробуйте переместить его в действие вместо этого.

API Facebook висит на "Открытие" во время openActiveSession

Другие вопросы по тегам