android - smart - Error de ejemplo de la cámara al bloquear/desbloquear el dispositivo
smart lock android (2)
Estoy trabajando con la cámara y estoy usando exactamente el mismo ejemplo que figura en la documentación: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview .html
Ejecuto el ejemplo en un Xoom con Android 3.1 y 3.2.
Mi problema es que cuando bloqueo y desbloqueo el Xoom, la cámara no vuelve. La imagen permanece igual que la anterior antes de bloquear la tableta y la luz roja tampoco vuelve.
Si alguien puede ayudarme, lo agradeceré.
Al bloquear y desbloquear, ¿se refiere a cuando la pantalla duerme o se presiona el interruptor de encendido del dispositivo, lo que hace que el dispositivo entre en modo de suspensión y luego se despierte nuevamente?
Si es así, sospecho que necesita liberar los recursos de la cámara en su onPause y luego iniciar la vista previa de nuevo en Reanudar, a través de la devolución de llamada de la vista de superficie.
En las aplicaciones Android 2.2 y 2.3 que tengo que lidiar con la cámara, el patrón que uso es:
onCreate:
- get reference to the camera
onResume:
- sv = (SurfaceView)this.findViewById(R.id.capture_SurfaceView);
mHolder = sv.getHolder();
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mHolder.setSizeFromLayout();
mHolder.addCallback(this);
surfaceChanged:
- Camera.setPreviewDisplayHolder()
- Camera.startPreview()
onPause:
- Camera.stopPreview
- SurfaceHolder.removeCallback()
- Camera.release()
Esto funciona bien para mí en todo el dispositivo que se apaga y luego vuelve a encender, o mi aplicación de lo contrario va a fondo.
Una solución tal vez establezca la vista de superficie como invisible y visible nuevamente en onResume (), esto hace que la vista de superficie se destruya y se vuelva a crear.