ZXing 如何使用手电筒启动扫描仪?

How to start Scanner using the Flashlight with ZXing?

我想用 ZXing 库制作一个二维码扫描器。 在我的 build.gradle 中,我添加了以下代码:

repositories {
    mavenCentral()

    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }
}

dependencies {
    compile 'com.google.zxing:core:2.2'
    compile 'com.embarkmobile:zxing-android-minimal:1.2.1@aar'
}

当我点击 Button 时,它会执行以下代码:

IntentIntegrator.initiateScan(MainActivity.this);

QR-Scanner 扫描仪工作正常。

现在,我想用闪光灯启动 Scanner。我怎样才能做到这一点? 我在网上搜索过,但例子让我很困惑。

那么,如何使用闪光灯启动 Scanner

            Camera camera  =Camera.open();
            Camera.Parameters p;
            p = camera.getParameters();
            p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
            camera.setParameters(p);

            CameraConfigurationUtils.setTorch(p,true);

使用它,您可以在 android 工作室中为 barcode/qrcode 扫描仪打开手电筒。

源代码

https://drive.google.com/open?id=0BzBKpZ4nzNzUN3RyeGtuUGpHQnc

在清单文件中添加依赖项 - 工作正常

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            CameraManager camManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
            String cameraId = null; // Usually back camera is at 0 position.
            try {
                cameraId = camManager.getCameraIdList()[0];
                camManager.setTorchMode(cameraId, false);  

 // TODO  Turn ON  Flash Light On
                mScannerView.setFlash(true);    
            } catch (CameraAccessException e) {
                e.printStackTrace();
            }
        }