title: "Can not perform this action after onSaveInstanceState" - why am I getting this exception from my activity's onResume method?
body: <p>My activity invokes the camera with the ACTION_IMAGE_CAPTURE intent. If the camera activity returns succesfully, I set a flag in the onActivityResult callback, and based on the value of the flag I start a fragment in my onResume to add a caption to the image that was captured. This seems to work ok. </p>
  
  <p>I just got a stack trace from the "wild" complaining that I was trying to commit a fragment transaction after onSaveInstanceState has been called. But I'm doing the commit in my onResume method! Why would android complain about this? I do have <strong>android:configChanges="orientation|keyboardHidden|keyboard|screenSize"</strong> set in my AndroidManifest.xml, so an orientation change should not trigger this....</p>
  
  <p>This occurred on a Samsung Galaxy S3 (SGH-i747) running 4.0.4</p>
  
  <p>Here is the stack:</p>
  
  <pre><code>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)
  </code></pre>
  
  <p>Any help or wisdom is appreciated.</p>