Cómo liberar la cámara cuando la gente deje de usar su widget?

He construido un widget que utiliza la cámara para su linterna, que funciona perfectamente encendido y apagado, y la liberación cuando la gente realmente apagarlo, pero si lo enciende y luego voy a la cámara, por supuesto, se bloquea La aplicación de la cámara, ¿cómo puedo liberar la cámara en caso de que un usuario se olvida de apagar la linterna? ¿Hay una manera de detectar cuando una nueva aplicación está a punto de ser iniciado antes de que llama a la cámara?

2 Solutions collect form web for “Cómo liberar la cámara cuando la gente deje de usar su widget?”

Basado en mi investigación, esto es imposible en los dispositivos predeterminados de Android, Samsung logró esto con una de sus aplicaciones, pero esto era más probable debido a su mejora de las características básicas de Android. Esto significaría, sin embargo, que tendría que liberar una documentación sobre cómo se logra esto y sólo funcionaría en los teléfonos que han habilitado este en.

Si alguien más tiene una respuesta que es realmente útil en lugar de especificar por qué no se puede hacer esto, estaría encantado de aceptarlo, lo dejaré aquí esperando que otras personas lo vean y no pierda el tiempo investigando el Sujeto por tanto tiempo como yo.

* Editar, si google de alguna manera actualizar el sistema operativo para permitir a las aplicaciones para comprobar si la cámara se utiliza y si era, para liberarlo, entonces esto sería fácil de trabajar, pero por desgracia, tenemos que esperar por ellos. O desarrollarse en Iphone donde no es necesario que se ponga en contacto con la cámara para acceder al flash.

Ponga el código abajo en su método onDestroy() de su actividad:

 protected void onDestroy(){ if(camera!=null){ camera.stopPreview(); camera.setPreviewCallback(null); camera.release(); camera = null; } } 

Si está utilizando una clase de vista previa por separado, a continuación, agregue el siguiente código:

 public void surfaceDestroyed(SurfaceHolder holder) { if(camera!=null){ camera.stopPreview(); camera.setPreviewCallback(null); camera.release(); camera = null; } } 
  • Swizzling método en Android con java
  • Obtener json de HttpResponse
  • Jackson no puede cargar tipos JDK7 en Android
  • Retrofit 2 Callback onResponse en el subproceso de fondo
  • Solicitud HTTP para archivo XML
  • Rotación de vídeo en modo retrato
  • java.util.regex.PatternSyntaxException: Error de sintaxis en patrón regex cerca de índice
  • Procesamiento incorrecto de Android Spinner si se genera mediante programación en android 2.0
  • Comprobación de si el GPS está habilitado en android
  • gradle 2.0.0 beta 7 missing
  • Error de solicitud de HTTP POST de Android: error de socket EACCES (Permiso denegado)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.