Returns true if the camera supports flash. - Android Camera

Android examples for Camera:Camera Flash

Description

Returns true if the camera supports flash.

Demo Code


//package com.java2s;
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.List;

import android.hardware.Camera;

public class Main {
    /** Returns true if the camera supports flash. */
    public static boolean cameraSupportsFlash(Camera camera) {
        return getFlashModes(camera).contains("on");
    }//from   w  ww .  j  av  a 2  s  .c  om

    /** Returns a list of available camera flash modes. If the Android API doesn't support getting flash modes (requires 2.0 or later),
     * returns a list with a single element of "off", corresponding to Camera.Parameters.FLASH_MODE_OFF.
     */
    public static List<String> getFlashModes(Camera camera) {
        Camera.Parameters params = camera.getParameters();
        try {
            Method flashModesMethod = params.getClass().getMethod(
                    "getSupportedFlashModes");
            List<String> result = (List<String>) flashModesMethod
                    .invoke(params);
            if (result != null)
                return result;
        } catch (Exception ignored) {
        }
        return Collections.singletonList("off");
    }
}

Related Tutorials