【问题标题】:How to check if the flashlight is on?如何检查手电筒是否亮着?
【发布时间】:2014-02-24 11:10:14
【问题描述】:

在您尝试打开手电筒后,有什么方法可以检查它是否有效?

我正在使用:

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)

返回真。

感谢您的帮助。

【问题讨论】:

  • 您好,已给出答案,请查看并访问androidhive.info/2013/04/…了解更多信息
  • @InnocentKiller 谢谢,我以前看过那个链接,但我看不到那里有办法让你知道打开灯是否有效。
  • @Jitesh Upadhyay 感谢您的回复,但请阅读我的问题,我问是否有任何方法可以检查打开灯是否真的有效。
  • 是的!我删除了以前的答案,将尝试获取并会回复您

标签: android android-camera


【解决方案1】:

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

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

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

【讨论】:

  • 感谢您的回复,但这似乎并不总是有效,有些手机需要使用 FLASH_MODE_ON 代替。
  • 这是检查设备是否有可用的闪光模式。
【解决方案2】:

为我工作:

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

返回true手电筒开启

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2020-03-02
    • 1970-01-01
    相关资源
    最近更新 更多