I set a data member, imageUri, and pass that into an intent that launches the camera activity. In the camera activity I take a picture and the rotate the screen before clic
Locking the screen orientation of the invoking Activity fixed the issue for me. If you don't want to lock yours, you can create an Activity with locked orientation just for calling the camera, then returning the result to your 'real' activity.
To lock the screen orientation, put this into the activity definition in your manifest (both lines):
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize"
"portrait" can also be "landscape"