Tengo una aplicación que muestra la vista previa de la cámara y me gustaría que el usuario pueda poner el teléfono en modo de suspensión y luego activarlo para que mi aplicación se recupere correctamente. El problema es que al volver del modo de suspensión, la vista previa de la cámara no se reiniciará.¿Cómo recuperar la vista previa de la cámara de la suspensión?
He implementado la vista previa de la cámara como se presenta en las demostraciones de API, pero parece que el ejemplo de la demostración de API funciona solo por pura suerte. En el ejemplo, la orientación de la pantalla se ve obligada a apaisarse, lo que significa que el teléfono pasará por un cambio de configuración cada vez que el teléfono entre en modo de suspensión, ya que la pantalla de bloqueo está en modo vertical. Si el modo vertical se usa en la aplicación de vista previa de la cámara (como en la mía), la superficie del error emerge.
He encontrado que el error está relacionado con la recreación de la superficie. La superficie debe destruirse siempre cuando se vaya a onPause y luego se vuelva a crear después de onResume, pero esto no ocurre cuando se va a dormir. Parece que tengo que destruir toda la actividad y luego volver a crearla para que la vista previa de la cámara funcione nuevamente. Me gustaría poder recrear la vista de superficie.
¿Hay alguna forma de forzar la recreación de la vista superficial que no sea simplemente recrear toda la actividad?
+1 Thanks that did indeed help! Sin embargo: en la implementación de la cámara también tuve que pasar el archivo Uri de la imagen que tomé y guardé, en lugar de pasar la matriz de bytes sin procesar a la actividad que llamó a la cámara, ya que al intentar pasar la matriz de bytes se produjo una carpeta fallida Transacción después de un sueño. – AgentKnopf
La solución de Jason funcionó para mis dispositivos 4.0 y superiores, pero mis dispositivos 3.0 y posteriores aún muestran los mismos síntomas. ¿Algun consejo? – rotinegg