有没有办法让用户在Android中获得当前的Flash设置(适用于相机)?

时间:2013-12-02 04:17:16

标签: android android-camera android-camera-intent

我们可以通过编程方式从原生相机应用中获取闪光灯设置吗?

我的意思是说,例如,如果用户使用默认相机应用中的闪光模式进行干预,我想读取他设置的闪光模式我的应用,即在后台中运行。这可能吗?

3 个答案:

答案 0 :(得分:1)

为了获得当前的闪光模式,Harshit先生建议你需要getFlashMode()。要获得相同的信息,您可以使用以下代码

Parameters params;
Camera cam;
cam=Camera.open();
params=cam.getParameters();
System.out.println(params.getFlashMode()); 

试试这个,看看是否有效......

答案 1 :(得分:0)

private boolean hasFlash(){
    Parameters params = mCamera.getParameters();
    List<String> flashModes = params.getSupportedFlashModes();
    if(flashModes == null) {
        return false;
    }

    for(String flashMode : flashModes) {
        if(Parameters.FLASH_MODE_ON.equals(flashMode)) {
            return true;
        }
    }

    return false;
}

答案 2 :(得分:0)

  

首先检查是否支持flashLight

context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

如果闪光灯可用则返回true,否则返回false。

  

检查闪光灯是自动,开启还是关闭:

 List<String> flashModes = cameraParams.getSupportedFlashModes();

    if(flashModes!=null && flashModes.size()>0)
    {
        if(cameraParams.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_ON))
        {
         //DO STUFF...
        }
        else if(cameraParams.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_OFF))
        {
        //DO STUFF......
        }
        else if(cameraParams.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_TORCH))
        {
        //DO STUFF......
        }
        else if(cameraParams.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_AUTO))
        {
        //DO STUFF......
        }
    }