我们可以通过编程方式从原生相机应用中获取闪光灯设置吗?
我的意思是说,例如,如果用户使用默认相机应用中的闪光模式进行干预,我想读取他设置的闪光模式我的应用,即在后台中运行。这可能吗?
答案 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......
}
}