如何检查手电筒是否打开?

时间:2014-02-24 11:10:14

标签: android android-camera

有没有办法检查一旦你试图打开手电筒,如果它已经工作?

我正在使用:

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。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

首先,您需要检查设备是否支持手电筒:

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

然后你可以放心地假设它会在你开始预览时打开。

答案 1 :(得分:0)

适合我:

camera.getParameters().getFlashMode().equals(Parameters.FLASH_MODE_TORCH)

返回true手电筒已开启

注意:API级别21已弃用Camera类。因此此解决方案不适用于最新版本