android - 如何检测前置摄像头在android中是否可用?

标签 android camera crash

实际上我的应用程序有一些问题,

就像我有一个按钮可以打开前置摄像头并扫描服务员徽章,但是当我尝试检查设备是否有摄像头时问题就来了,如果没有我就隐藏那个按钮。

但我有一台设备将前置摄像头用作 QR 扫描仪,因此它并不是真正可以使用的摄像头,因此当我尝试单击该按钮时应用程序崩溃。

所以问题是我如何处理和检查相机是否不仅存在,而且是否有效?

最佳答案

使用此方法检测设备是否有前置摄像头。

private boolean hasFrontCamera() {
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    int numberOfCameras = Camera.getNumberOfCameras();
    for (int i = 0; i < numberOfCameras; i++) {
        Camera.getCameraInfo(i, cameraInfo);
        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            return true;
        }
    }
    return false;
}

关于android - 如何检测前置摄像头在android中是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52147109/

相关文章:

android - 数据结构的最快序列化/反序列化模式

linux - 从linux命令行抓图(uvccapture抓黑图)

java - 定时拍照(Android Camera API)

python - Boost.Python : __init__ accepting None argument

android - AsyncQueryHandler 在 ui 线程上调用 onQueryComplete? ( 安卓 )

android - 如何检查 webview 是否无法加载页面(android)?

android - 在 db.query() 中使用 Sqlite group_concat 而不是 rawquery

java - Libgdx body 位置和 shaperrenderer 位置不一样

linux - 如何使 Linux VM 崩溃?

java - producteev4j 实现