OnActivityResult фрагмента не вызывается после изменения ориентации

Обратите внимание, этот вопрос не является дубликатом следующего:

https://stackoverflow.com/questions/19006776/onactivityresult-not-working-with-fragmentsonActivityResult не работает с фрагментами

Также еще одинаналогичный вопрос спросили раньше, но это неНе упоминайте об изменениях ориентации (и это не решено).

мойonActivityResult метод вFragment мне звонят, если я неt переключить ориентацию. Однако, если я буду следовать этим шагам, это неТебя называют:

Загрузить фрагмент в FragmentActivity.Из фрагмента:startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), Constants.REQ_CODE_IMAGE_CAPTURE);Подождите, пока камера загрузится.Переключить ориентацию.Сделайте снимок и нажмите галочку.

onActivityResult все еще вызывается в родительском FragmentActivity. Однако из-за этого предупреждения я получаю:

W/FragmentActivity(4418): Activity result no fragment exists for index: 0x22d73

... я предполагаю, что родитель будет разрушен из-за изменения ориентации, и после повторного создания, может 'найтиFragment это называетсяstartActivityForResult на первом месте.

Это ошибка фреймворка? Как это можно обойти?

РЕДАКТИРОВАТЬ: Добавлено больше кода из-за популярного спроса.

FragmentActivity.java:

...

fragment = new ExampleFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace (R.id.mainContentView, fragment);
if (clearBackStack) {
    // clear the back stack
    while (getSupportFragmentManager().popBackStackImmediate ());
    // add the current transaction to the back stack
    transaction.addToBackStack (null);
}
else {
    transaction.addToBackStack(null);
}
transaction.commit();

...

@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);
}

ExampleFragment.java:

Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePicture, Constants.REQ_CODE_IMAGE_CAPTURE);

...

@Override
public void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
    switch (requestCode) {
    case Constants.REQ_CODE_IMAGE_CAPTURE:
        // handle added image
    }
}

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

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