<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() внутри фрагмента? Попробуйте переместить его в действие вместо этого.