había establecido mi cámara a this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
y funciona bien, pero si lo cambio a PORTRAIT
en lugar de LANDSCAPE
entonces se bloquea con el siguiente error ...no se pueda conectar a servicios de la cámara
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): FATAL EXCEPTION: main
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): java.lang.RuntimeException: Fail to connect to camera service
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at android.hardware.Camera.native_setup(Native Method)
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at android.hardware.Camera.<init>(Camera.java:110)
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at android.hardware.Camera.open(Camera.java:90)
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at org.digital.com.CamLayer.surfaceCreated(CamLayer.java:3
El método se se estrella en IS ..
public void surfaceCreated(SurfaceHolder holder) {
synchronized(this) {
mCamera = Camera.open();
Camera.Parameters p = mCamera.getParameters();
p.setPreviewSize(800, 480);
mCamera.setParameters(p);
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
Log.e("Camera", "mCamera.setPreviewDisplay(holder);");
}
mCamera.startPreview();
mCamera.setPreviewCallback(this);
}
}
se estrella en mCamera = Camera.open();
Mi archivo de manifiesto tiene <uses-permission android:name="android.permission.CAMERA"></uses-permission>
¿Cómo puedo solucionar esto para poder ver mi aplicación en Portrait?
¿En qué dispositivo está trabajando y qué versión de SDK? La vista previa de la cámara Afaik solo funciona correctamente en modo paisaje, pero en retrato. También quería usarlo en modo retrato (en N1, en Samsung Galaxy S), pero sin éxito. Consulte también el rastreador de errores en http://code.google.com/p/android/issues/detail?id=1193; aunque nunca recibí un error como el mencionado anteriormente. –
Estoy usando un Nexus One 2.2 – Skizit
¿Tiene otro dispositivo para probarlo? Funciona en Emulator? si es una aplicación pequeña, puedo ayudarte a probarla en mi N1 y Galaxy S. ¿Tu 2.2 es el 2.2 FRF91 final? –