2012-03-28 27 views
6

Invoco una cámara con intención y hago clic en una imagen. Actualmente estoy en emulador y me gustaría forzar a la cámara a hacer clic en las imágenes en modo retrato (necesito capturar un video de la aplicación funcionando, por lo que el cambio de orientación se vería mal) pero la pantalla de la cámara aparece paisaje y todas las demás actividades que invoco en onActivityResult().Modo de retrato forzado en la cámara

Camera Screen

Tras hacer clic en la imagen del diseño actividad sale en modo horizontal como esto: enter image description here

mientras que toda mi actividad anterior han mostrado correctamente en orientación vertical. He intentado añadir

android:screenOrientation="portrait" 
android:configChanges="orientation|keyboardHidden" 

a la actividad mostrada anteriormente pero sin avail.Though cuando golpeo el hogar y sobre hoja de vida se muestra correctamente en el retrato.

Entonces, ¿cómo forzar el modo de retrato?

+1

'setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);' en onResume en su actividad de cámara. –

+0

Eche un vistazo - http://stackoverflow.com/questions/10259299/force-a-camera-to-always-open-in-portrait-mode-in-android –

Respuesta

2

Ninguna de las soluciones funciona. Tampoco hay nada de malo en los diseños. Lo hice funcionar ejecutando en una versión superior (API10 a API15). ¡¡¡Raro !!

-2

Este trabajo shoudl:

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
i.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
i.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); 
startActivityForResult(i, CAMERA_CODE); 
+0

Intenté usar su código pero la orientación sigue siendo la misma . ¿Puede algo más estar influyendo en la orientación? – Sankalp

+0

¿Podría probar su código con un dispositivo real? – Manitoba

+0

No, todavía no tengo ningún dispositivo. :( – Sankalp

-1

Escriba en su manifest.xml donde se haya definido su actividad.

<activity android:name="your_activity name" android:screenOrientation="portrait" /> 

Esto debería funcionar. Te sugiero que revises el dispositivo real.

utiliza este código para la clase de captura de imágenes donde se inicia la vista previa.

0

Sólo es necesario programar una ID para cada uno de sus puntos de vista. No necesita forzar el modo de retrato en la cámara. Al hacer esto, evite que la actividad recree vistas y pierda datos

Cuestiones relacionadas