有没有办法检查一旦你试图打开手电筒,如果它已经工作?
我正在使用:
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
打开相机。这适用于大多数手机,但不适用于所有手机,所以我需要知道它是否有效。
编辑:为了清楚起见,我需要知道打开闪光灯是否确实有效。有时您需要使用FLASH_MODE_ON而不是FLASH_MODE_TRUE,有时您甚至需要使用FLASH_MODE_ON
List<String> flashModes = p.getSupportedFlashModes();
flashModes.contains(Parameters.FLASH_MODE_TORCH)
返回true。
感谢您的帮助。
答案 0 :(得分:1)
首先,您需要检查设备是否支持手电筒:
context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
然后你可以放心地假设它会在你开始预览时打开。
答案 1 :(得分:0)
适合我:
camera.getParameters().getFlashMode().equals(Parameters.FLASH_MODE_TORCH)
返回true
手电筒已开启
注意:API级别21已弃用Camera
类。因此此解决方案不适用于最新版本