Apertura de la cámara en modo vertical con Intent

Puedo abrir la cámara del dispositivo de mi Activity usando una Intent como sigue:

 Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); Uri fileUri = getOutputMediaFileUri(); cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", 1); startActivityForResult(cameraIntent, CAMERA_REQUEST); 

Mi problema es que mi Activity está configurada en modo horizontal , por lo que cuando se abre la cámara, también se abre en modo horizontal , pero necesito abrir la cámara sólo en modo vertical .

Así que por favor, hágamelo saber cómo puedo hacer esto cuando se utiliza una Intent de lanzar la cámara del dispositivo.

Gracias…

Este es un problema con el uso de aplicaciones externas para manejar la funcionalidad para usted. En teoría, las aplicaciones que aceptan acciones de Intent deben manejar correctamente la Intent y devolver los datos que está pidiendo, pero en la práctica hay muy poco que puede hacer para imponer este comportamiento … Por ejemplo, cualquier aplicación puede decir que maneja " Captura ", pero si tuviera que pasar su Intent a una aplicación mal programada o maliciosa, no hay nada que impida que la aplicación de hacer algo completamente diferente de lo que pretendía, o nada en absoluto. Si decide dejar que su aplicación abandone el control de otra aplicación para cumplir con ciertas funciones, se arriesga a que cualquier aplicación que se elija no pueda satisfacer esa funcionalidad.

En su caso particular en el que está buscando la posibilidad de agregar extras de Intent , no hay forma en que nadie pueda responder a esta pregunta que se aplicaría a todas las aplicaciones de cámara por ahí. Tendrías que encontrar uno que soporte lo que quieres, averiguar cómo forzarlo a modo de retrato y luego rezar para que todos tus usuarios tengan esa aplicación en particular instalada. En realidad son muy pocas opciones para asegurarse siempre de que su aplicación tomará una imagen de la manera que desee:

  • Crear un selector para su intención de la cámara y limitar los resultados a sólo las aplicaciones que ha probado y saber el trabajo como se pretende. Si las aplicaciones particulares no están instaladas, inhabilite la función de toma de fotografías.
  • Implemente la captura de imágenes.

No se puede forzar a una aplicación de terceros para que se inicie en ninguna orientación en particular. De hecho, observo que cada vez que lanzo la aplicación de cámara estándar de mi aplicación (de retrato), la aplicación de cámara cambia a paisaje.

Si establece el objetivo más modesto de asegurarse de que el usuario mantiene el teléfono en el retrato cuando se inicia la cámara, lo que necesita es una tercera actividad muy simple que es sólo retrato. Entonces:

  1. Inicie esta actividad desde la aplicación principal de Google Landscape.
  2. Esta actividad tiene alguna interfaz de usuario de retrato para que el usuario gire el teléfono para leerlo.
  3. Esta actividad inicia la cámara, exactamente como lo estás haciendo arriba.
  4. Cuando esta actividad obtiene un resultado, la pasa directamente a su actividad principal con setResult()

Para tener un mayor nivel de control, tendrías que escribir tu propia aplicación de cámara o requerir a los usuarios que usen cierta cámara que haga lo que necesites.

Ninguna de las soluciones de trabajo. No hay nada malo con los diseños tampoco. Lo hice funcionar funcionando en una versión más alta (API10 a API15). ¡¡Extraño!!

  • MediaServer Remote Binder Objeto de cámara muerto - sólo en KITKAT
  • Android ACTION_IMAGE_CAPTURE a veces no llama aActivityResult
  • ¿Qué podría provocar que una actividad de Android se reiniciara infinitamente al regresar de la cámara?
  • Cámara Android: ¿Hilos? Que debe hacer lo que
  • Open failed: ENOENT (No hay tal archivo o directorio) error
  • Cómo dibujar una superposición en un SurfaceView utilizado por la cámara en Android?
  • Detección de la falta de cámara trasera
  • Android MediaRecorder se bloquea
  • Cómo comprimir el tamaño de la imagen?
  • ¿Cuál es la diferencia entre el zoom y el zoom suave en la cámara androide?
  • ¿Cómo puedo manipular la vista previa de la cámara?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.