Returns true if the camera supports auto-flash mode. - Android Camera

Android examples for Camera:Camera Flash

Description

Returns true if the camera supports auto-flash mode.

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 auto-flash mode. */
    public static boolean cameraSupportsAutoFlash(Camera camera) {
        return getFlashModes(camera).contains("auto");
    }//  w ww . ja  va  2s . c  o m

    /** 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