Apertura de linterna en android con diferentes modos

¿El código como a continuación funciona en dispositivos Android como Motorola razor que no soporta la antorcha? ¿Puede alguien por favor ser lo suficientemente amable para probar si tiene algún teléfono como que y por favor dígame.

¡¡Gracias por adelantado!!

if (!isFlashOn) { if (camera == null || params == null) { return; } List<String> flashModes = params.getSupportedFlashModes(); if(flashModes.contains(Parameters.FLASH_MODE_TORCH)){ try { params = camera.getParameters(); params.setFlashMode(Parameters.FLASH_MODE_TORCH); camera.setParameters(params); camera.startPreview(); toggleButtonImage(); isFlashOn = true; }catch (RuntimeException e) { } } else { params = camera.getParameters(); params.setFlashMode(Parameters.FLASH_MODE_ON); camera.setParameters(params); camera.startPreview(); toggleButtonImage(); isFlashOn = true; } toggleButtonImage(); isFlashOn = true; } } 

PS Debería añadir algo como:

 if (flashModes.contains(android.hardware.Camera.Parameters.FLASH_MODE_AUTO)) { params.setFlashMode(Parameters.FLASH_MODE_AUTO); camera.setParameters(params); camera.startPreview(); } 

Funciona en Motorola g y galaxia S4 (compatible con antorcha)

Puede abrir la linterna en diferentes modos si se admiten diferentes modos de flash en su dispositivo. Puede obtener el código de este código de cámara de código abierto. Cámara abierta

Sí, si comprueba que el dispositivo admite la antorcha. Sin embargo, puede encontrar un problema específico del dispositivo que es muy frecuente en Android. Puede encontrar más información en esta publicación.

Debe comprobar los modos de flash compatibles para no tener una excepción, método setFlashMode comprueba los modos admitidos, pero la comprobación con este método es útil para configurar el botón de modo de flash o ver en la interfaz de usuario

 public List<String> getSupportedFlashModes() { return params.getSupportedFlashModes(); } 

La suma de todos los modos de flash son:

 Camera.Parameters.FLASH_MODE_AUTO, Camera.Parameters.FLASH_MODE_OFF, Camera.Parameters.FLASH_MODE_ON, Camera.Parameters.FLASH_MODE_RED_EYE, Camera.Parameters.FLASH_MODE_TORCH 

Pero algunos o cualquiera de estos modos de flash pueden no estar disponibles en su dispositivo, compruebe antes de usar. Después de seleccionar los modos de flash, puede configurar los modos de flash utilizando este método

 public synchronized void setFlashMode(String flashMode) { Camera.Parameters params = mCamera.getParameters(); if (cameraId == Camera.CameraInfo.CAMERA_FACING_BACK && params.getSupportedFlashModes() != null && params.getSupportedFlashModes().contains(flashMode)) { params.setFlashMode(flashMode); mCamera.setParameters(params); } } 
  • Android: ¿Cómo puedo pasar parámetros a OnPreExecute () de AsyncTask?
  • ¿Cómo pasar el parámetro a un webservice usando ksoap2?
  • Cómo cambiar la velocidad de fotogramas de la cámara para crear vídeo de cámara lenta o lapso de tiempo en Android
  • Android, KSoap2 y .NET Web Service w / parameters = Resultado NULL
  • Cómo enviar parámetros a un archivo local en un WebView en android?
  • Cómo crear un botón de Twitter en Android?
  • Obtenga la colección de nombres de parámetros de la url de Java / Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.