“Não consigo executar esta ação depois de onSaveInstanceState” - por que estou recebendo essa exceção do método onResume da minha atividade?

Minha atividade chama a câmera com a intenção ACTION_IMAGE_CAPTURE. Se a atividade da câmera retornar com êxito, defino um sinalizador no retorno de chamada onActivityResult e, com base no valor do sinalizador, inicio um fragmento no meu onResume para adicionar uma legenda à imagem que foi capturada. Isso parece funcionar bem.

Acabei de receber um rastreamento de pilha do "wild" reclamando que eu estava tentando cometer uma transação de fragmento depois que onSaveInstanceState foi chamado. Mas estou fazendo o commit no meu método onResume! Por que os andróides se queixam disso? eu tenhoandroid: configChanges = "orientação | keyboardHidden | teclado | screenSize" definido no meu AndroidManifest.xml, portanto, uma mudança de orientação não deve acionar isso ....

Isso ocorreu em um Samsung Galaxy S3 (SGH-i747) executando 4.0.4

Aqui está a pilha:

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
    at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1314)
    at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1325)
    at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:548)
    at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:532)
    at com.Familiar.Android.FamiliarAppV1.AddPhotosActivity2.performFragmentTransition(AddPhotosActivity2.java:278)
    at com.Familiar.Android.FamiliarAppV1.AddPhotosActivity2.switchToCaptionsFragment(AddPhotosActivity2.java:438)
    at com.Familiar.Android.FamiliarAppV1.AddPhotosActivity2.onResume(AddPhotosActivity2.java:167)
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1158)
    at android.app.Activity.performResume(Activity.java:4544)
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2448)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2486)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1187)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4514)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
    at dalvik.system.NativeStart.main(Native Method)

Qualquer ajuda ou sabedoria é apreciada.

questionAnswers(7)

yourAnswerToTheQuestion