I was trying to create a simple camera application for research. I Read Android Camera Official Document and then started coding. so I did some steps to get it work
I was searching for a solution for hours too. Its really crazy. My solution was to just use the camera preview in landscape mode (in my portrait app) and mask out the parts of the preview I don't need. I did this by overlaying upper and lower pars of my fullscreen preview with some views. Of cause you have to crop the photo you are getting from the camera then, WHICH RESULTS IN LESS RESOLUTION. For my app this was no issue.
I am totally happy with my solution now- users don't see any difference;