boolean getTorchState(Camera camera) { if (camera != null) { Camera.Parameters parameters = camera.getParameters(); if (parameters != null) { String flashMode = camera.getParameters().getFlashMode(); return flashMode != null && (Camera.Parameters.FLASH_MODE_ON.equals(flashMode) || Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode)); } } return false; }
/** * * @return true if the torch is on * @throws RuntimeException if there is a camera error */ public boolean isTorchOn() { Camera.Parameters parameters = camera.getParameters(); if (parameters != null) { String flashMode = parameters.getFlashMode(); return flashMode != null && (Camera.Parameters.FLASH_MODE_ON.equals(flashMode) || Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode)); } else { return false; } }
public static boolean isFlashSupported(Camera camera) { /* Credits: Top answer at http://stackoverflow.com/a/19599365/868173 */ if (camera != null) { Camera.Parameters parameters = camera.getParameters(); if (parameters.getFlashMode() == null) { return false; } List<String> supportedFlashModes = parameters.getSupportedFlashModes(); if (supportedFlashModes == null || supportedFlashModes.isEmpty() || supportedFlashModes.size() == 1 && supportedFlashModes.get(0).equals(Camera.Parameters.FLASH_MODE_OFF)) { return false; } } else { return false; } return true; } }
Camera.Parameters p= mCamera.getParameters(); String flashMode = p.getFlashMode(); if(flashMode == null) { //DO something, if it has no value } else if(flashMode.equals(Camera.Parameters.FLASH_MODE_OFF)) { //DO STUFF...... } else if(flashMode.equals(Camera.Parameters.FLASH_MODE_TORCH)) { //DO STUFF...... } : :
boolean getTorchState(Camera camera) { if (camera != null) { Camera.Parameters parameters = camera.getParameters(); if (parameters != null) { String flashMode = parameters.getFlashMode(); return flashMode != null && (Camera.Parameters.FLASH_MODE_ON.equals(flashMode) || Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode)); } } return false; }
/** * Check if Hardware Device Camera can use Flash * @return true if can use flash, false otherwise */ public static boolean hasCameraFlash(Camera camera) { Camera.Parameters p = camera.getParameters(); return p.getFlashMode() == null ? false : true; }
Camera mCamera = Camera.open(); mCamera.startPreview(); Camera.Parameters params = mCamera.getParameters(); if(params.getFlashMode() != null){ params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); } mCamera.setParameters(params);
boolean getTorchState(Camera camera) { if (camera != null) { Camera.Parameters parameters = camera.getParameters(); if (parameters != null) { String flashMode = parameters.getFlashMode(); return Camera.Parameters.FLASH_MODE_ON.equals(flashMode) || Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode); } } return false; }
mFlashMode = parameters.getFlashMode();
flashMode = parameters.getFlashMode();
mFlashMode = parameters.getFlashMode();
public static void setTorch(Camera.Parameters parameters, boolean on) { List<String> supportedFlashModes = parameters.getSupportedFlashModes(); String flashMode; if (on) { flashMode = CameraConfigurationUtils.findSettableValue("flash mode", supportedFlashModes, Camera.Parameters.FLASH_MODE_TORCH, Camera.Parameters.FLASH_MODE_ON); } else { flashMode = CameraConfigurationUtils.findSettableValue("flash mode", supportedFlashModes, Camera.Parameters.FLASH_MODE_OFF); } if (flashMode != null) { if (flashMode.equals(parameters.getFlashMode())) { Log.i(TAG, "Flash mode already set to " + flashMode); } else { Log.i(TAG, "Setting flash mode to " + flashMode); parameters.setFlashMode(flashMode); } } }
public boolean switchLight() { if(mState != State.PREVIEW || mCameraDevice == null || mCameraData == null) { return false; } if(!mCameraData.hasLight) { return false; } Camera.Parameters cameraParameters = mCameraDevice.getParameters(); if (cameraParameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_OFF)) { cameraParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); } else { cameraParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); } try { mCameraDevice.setParameters(cameraParameters); return true; }catch (Exception e) { e.printStackTrace(); return false; } }
public static void setTorch(Camera.Parameters parameters, boolean on) { List<String> supportedFlashModes = parameters.getSupportedFlashModes(); String flashMode; if (on) { flashMode = findSettableValue("flash mode", supportedFlashModes, Camera.Parameters.FLASH_MODE_TORCH, Camera.Parameters.FLASH_MODE_ON); } else { flashMode = findSettableValue("flash mode", supportedFlashModes, Camera.Parameters.FLASH_MODE_OFF); } if (flashMode != null) { if (flashMode.equals(parameters.getFlashMode())) { Log.i(TAG, "Flash mode already set to " + flashMode); } else { Log.i(TAG, "Setting flash mode to " + flashMode); parameters.setFlashMode(flashMode); } } }
public synchronized void stopPreview() { if(mState != State.PREVIEW) { return; } if(mCameraDevice == null) { return; } mCameraDevice.setPreviewCallback(null); Camera.Parameters cameraParameters = mCameraDevice.getParameters(); if (cameraParameters != null && cameraParameters.getFlashMode() != null && !cameraParameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_OFF)) { cameraParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); } mCameraDevice.setParameters(cameraParameters); mCameraDevice.stopPreview(); mState = State.OPENED; }
public void setFlash(boolean flag) { mFlashState = flag; if(mCameraWrapper != null && CameraUtils.isFlashSupported(mCameraWrapper.mCamera)) { Camera.Parameters parameters = mCameraWrapper.mCamera.getParameters(); if(flag) { if(parameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_TORCH)) { return; } parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); } else { if(parameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_OFF)) { return; } parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); } mCameraWrapper.mCamera.setParameters(parameters); } }
public boolean hasFlash() { if (camera == null) { return false; } Camera.Parameters parameters = camera.getParameters(); if (parameters.getFlashMode() == null) { return false; } List<String> supportedFlashModes = parameters.getSupportedFlashModes(); if (supportedFlashModes == null || supportedFlashModes.isEmpty() || supportedFlashModes.size() == 1 && supportedFlashModes.get(0).equals(Camera.Parameters.FLASH_MODE_OFF)) { return false; } return true; }
public void toggleFlash() { if(mCameraWrapper != null && CameraUtils.isFlashSupported(mCameraWrapper.mCamera)) { Camera.Parameters parameters = mCameraWrapper.mCamera.getParameters(); if(parameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_TORCH)) { parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); } else { parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); } mCameraWrapper.mCamera.setParameters(parameters); } }
public boolean getFlash() { if(mCameraWrapper != null && CameraUtils.isFlashSupported(mCameraWrapper.mCamera)) { Camera.Parameters parameters = mCameraWrapper.mCamera.getParameters(); if(parameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_TORCH)) { return true; } else { return false; } } return false; }
@Test public void testSetAndGetFlashMode() { parameters.setFlashMode("foo"); assertThat(parameters.getFlashMode()).isEqualTo("foo"); } }