Cámara Android setDisplayOrientation: comportamiento extraño para la pestaña galaxia
Me enfrento a un problema al intentar tener una vista previa de la cámara en modo retrato. He leído varios artículos sobre él y lo había resuelto teniendo el código siguiente:
Display display = ((CaptureActivity)context).getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); if (Integer.parseInt(Build.VERSION.SDK) >= 8) { setDisplayOrientation(camera, 90); }else{ Camera.Parameters parameters = camera.getParameters(); parameters.set("orientation", "portrait"); camera.setParameters(parameters); }
donde setDisplayOrientation () se define como:
- Problema de host Android con el tablet Samsung Galaxy 10.1
- ¿Dónde puedo encontrar el simulador oficial de tabulación de galaxias para el androide SDK?
- Tipo de entrada = teclado numérico tiene punto desactivado en Galaxy Tab
- El texto en cursiva no funciona en la pestaña Samsung Galaxy
- Android: Samsung Galaxy Tabs y dispositivos Android 2.2 Mostrando fecha GPS 1 día adelantado desde el 1 de enero 2012
protected void setDisplayOrientation(Camera camera, int angle) { Method downPolymorphic; try { downPolymorphic = camera.getClass().getMethod( "setDisplayOrientation", new Class[] { int.class }); if (downPolymorphic != null) downPolymorphic.invoke(camera, new Object[] { angle }); } catch (Exception e1) { } }
Ahora he probado este código a un Galaxy Tab y no. Lo solucioné (intento y enfoque de error) utilizando el código siguiente:
if (height == 1024 && width == 600) { Camera.Parameters parameters = camera.getParameters(); parameters.set("orientation", "portrait"); parameters.setRotation(90); camera.setParameters(parameters); }
Ahora mis dos preguntas son:
1) ¿Por qué hay tal problema mientras Galaxy ficha tiene la versión 2.2, y
2) ¿Hay alguna mejor solución a este problema?
¡Muchas gracias por su tiempo!
- Galaxy Tab 4 no reconocido en Android Studio
- Extraño problema de rendimiento con Galaxy Tab
- No se encontró actividad para manejar Intención: android.intent.action.VIEW
- System.LoadLibrary (libname) se estrella en el chipset Nvidia Tegra 2 (Android Samsung Tab) en código Javacv
- La aplicación no es compatible con Samsung Galaxy Tab 10.1
- Galaxy Tab 10.1 resolución de pantalla utilizable (- la barra de menú)
para fijar la orientación de la exhibición compruebe hacia fuera los documentos oficiales, no apenas hardcode 90 grados allí.