toques smart pantalla lock google funciona dispositivo desbloquear desbloquea con bloquear abrir android camera xoom

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.