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!!
- Modificación de atributos anidados en un Layout incluido
- parámetros de glGenTexture?
- Cómo establecer dinámicamente los parámetros de diseño en Android?
- Android.net.uri getQueryParameterNames () alternativa
- SQL Android Formulación de consultas con múltiples condiciones
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)
- Pasar parámetros de Android FragmentActivity a Fragment
- ¿Son posibles los parámetros de strings.xml?
- Android AsyncTask como argumento del método
- Android ArrayList <MyObject> pasar como parcelable
- Algunos parámetros de función denominados arg0, arg1, etc ... después de compilar una biblioteca JAR
- Análisis bytecode de Android para parámetros de método
- ¿Cómo puedo hacer una petición Volley JSONObject con un objeto personalizado como parámetro?
- Androide actividad clase constructor trabajando
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); } }
- ¿Por qué se llama onCreate () después de onConfigurationChanged?
- Android – ObjectAnimator establece el valor de pivot