android - 如何在 Android 上检查设备是否有闪光灯 LED

标签 android android-camera

如何检查设备是否有摄像头 LED(手电筒)?我说的是安卓操作系统的设备?

我已经看到一些解决方案,其中讨论了如何打开和关闭 LED,但是如果设备甚至没有 LED 会发生什么。

为了打开相机,我正在使用 camera.open()

最佳答案

其他答案

boolean hasFlash = this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

不适用于新的 2013 Nexus 7。以下代码可以使用:

public boolean hasFlash() {
        if (camera == null) {
            return false;
        }

        Camera.Parameters parameters;
        try {
            parameters = camera.getParameters();
        } catch (RuntimeException ignored)  {
            return false;
        }

        if (parameters.getFlashMode() == null) {
            return false;
        }

        List<String> supportedFlashModes = parameters.getSupportedFlashModes();
        if (supportedFlashModes == null || supportedFlashModes.isEmpty() || supportedFlashModes.size() == 1 && supportedFlashModes.get(0).equals(Camera.Parameters.FLASH_MODE_OFF)) {
            return false;
        }

        return true;
    }

关于android - 如何在 Android 上检查设备是否有闪光灯 LED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413938/

相关文章:

android - Gradle 同步失败 : Could not resolve all artifacts for configuration

java - ksoap2 android web 服务 复杂类型 byte[]

javascript - 重命名 React Native 示例应用程序

java - Android httpclient cookie拒绝非法路径属性

android - 同时运行 Camera 的 2 个实例

android: onAutoFocus() 未在 android 4.0( Ice Cream Sandwich )虚拟设备上触发

来自 PreviewCallback 的 android 相机发布错误

安卓相机滤镜

android - 自定义照片文件夹显示在图库中

android - Cordova android 不同设备,响应式布局的正确方式