判断摄像头有没有闪光灯

来源:互联网 发布:网络理财 网金社 编辑:程序博客网 时间:2024/04/28 01:17

最近写一个程序,需要根据条件打开摄像头的闪光灯。

在 nexus 5 上没问题,但是到了 nexus 7 就不行。

找了几个网上传的方案,发现都不行。 Android 不同的发行版本对标准API 的支持不一样,连 N7 都不标准:

比如我用这段代码检查时,它竟然不是 null


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


解决方案:

public boolean hasFlash() {            if (camera == null) {                return false;            }            Camera.Parameters parameters = camera.getParameters();            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;        }


0 0