Lo que estoy haciendo parece que debería ser simple, pero aún estoy perdido después de haber leído todas las respuestas posibles de Stackoverflow que puedo encontrar y de buscar en Google cada artículo que puedo encontrar.Rotación inexplicable de la cámara Android en la captura de algunos dispositivos (no en EXIF)
Estoy usando una vista previa de SurfaceView y capturando una imagen de una actividad que está configurada para screenOrientation = "landscape" en mi AndroidManifest.xml.
Seguí el código de la aplicación de la cámara de muestra y pensé que todo estaba funcionando hasta que probé mi aplicación en algunos dispositivos Motorola con 1.5.
que tienen la OrientationEventListener funcionando bien y me utilizar la reflexión para ver si se ajusta la rotación como tal:
final int latchedOrientation = roundOrientation(mLastOrientation + 90);
Parameters parameters = preview.camera.getParameters();
JPLog.d("Setting camera rotation = %d", latchedOrientation);
try {
// if >= 2.0
Method method = Camera.Parameters.class.getMethod("setRotation",
int.class);
if(method != null) {
method.invoke(parameters, latchedOrientation);
}
} catch(Throwable t) {
// if < 2.0
parameters.set("rotation", latchedOrientation);
}
preview.camera.setParameters(parameters);
NexusOne (OS 2.2) - Funciona muy bien. latchedOrientation = 0, imagen OK sin rotación en el encabezado EXIF.
T-Mobile G1 (OS 1.6) - También funciona de maravilla. latchedOrientation = 0, imagen OK.
Motorola Backflip (OS 1.5) - Imagen girada. latchedOrientation = 0, la imagen no tiene rotación EXIF.
Motorola CLIQ (OS 1.5) - Imagen girada. latchedOrientation = 0, la imagen no tiene rotación EXIF.
¿Qué está pasando con estos dispositivos Motorola? Pensé que mi problema era que el controlador de la cámara Motorola no estaba rotando las imágenes, así que encontré las clases de lectura Sanselan EXIF para Android y me estaba preparando para rotarlas. Lo curioso es que hay encabezados EXIF pero ningún elemento de rotación.
Si configuro la rotación manualmente a 90 grados, las imágenes salen perfectas de los dispositivos Motorola, pero ahora el G1 y el NexusOne tienen imágenes que se giran 90 grados (no es lo que deseo). Tiene que haber algo que no estoy recibiendo aquí.
Estoy dudando de que este sea un problema de 1.5, ¿o alguien hubiera publicado información al respecto?
respuesta aquí http://stackoverflow.com/questions/14066038/why-image-captured-using-camera-intent-gets -rotated-on-some-devices-in-android –