Если ваше приложение работает на v2.2 или выше, вы можете повернуть камеру в портретную ориентацию, используя camera.setDisplayOrientation (90).
До версии v2.2 камера будет отображаться только в альбомной ориентации, поэтому вы должны установить действие в альбомную ориентацию.
Для поддержки устройств до v2.2 (уровень API)8) и после этого одним из решений является установка ориентации активности в альбомную ориентацию в AndroidManifest.xml.Затем во время выполнения проверьте уровень API и, если froyo или выше, измените ориентацию активности на портретную и поверните экран камеры.
//in activity onCreate method
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//After opening camera - call via reflection
Method rotateMethod = android.hardware.Camera.class.getMethod("setDisplayOrientation", int.class);
rotateMethod.invoke(mCamera, 90);
Это самое простое решение, и, надеюсь, по мере появления новых устройств v2.1и ниже будет сброшен радар.