Действия в onActivityResult и «Ошибка не может выполнить это действие после onSaveInstanceState»

Реализация приложения, в котором пользователь может войти в систему, имеет следующую ситуацию: Если пользователь вошел в систему, выполните действие, иначе запустите действие входа в систему для результата, и если результатом является Activity.RESULT_OK, выполните действие.

Моя проблема в том, что действие для показа состоит в том, чтобы показать DialogFragment, но вызывая

DialogFragment newFragment = MyDialogFragment.newInstance(mStackLevel);
newFragment.show(ft, "dialog")

в обратном вызове onActivityResult выдается исключение:

Caused by: java.lang.IllegalStateException:  
Can not perform this action after onSaveInstanceState

Так как я могу решить это? Я думаю поднять там флаг и показать диалог в onResume, но я вижу это решение немного грязным

Изменить: Добавлено больше кода (я следую этому примеру для отображенияDialogFragment

Когда действие запрашивается пользователем:

... 
if (!user.isLogged()){
 startActivityForResult(new Intent(cnt, Login.class), REQUEST_LOGIN_FOR_COMMENT);
}

В том же фрагменте

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_LOGIN_FOR_COMMENT && resultCode == Activity.RESULT_OK) {
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        DialogFragment newFragment = MyDialogFragment.newInstance();
        newFragment.show(ft, "dialog")
    }
}

И если пользователь входит в систему, логин звонит;

setResult(Activity.RESULT_OK);
finish();

Ответы на вопрос(7)

Ваш ответ на вопрос