在QR CODE READER中启用手电筒

时间:2015-02-12 22:38:04

标签: android camera

我想在Android应用中启用手电筒扫描qr代码。我正在使用这个库https://github.com/dlazaro66/QRCodeReaderView。当我打开相机进行扫描时,有没有办法启用手电筒?

2 个答案:

答案 0 :(得分:1)

我是图书馆的作者,我刚刚发布了一个带有手电筒功能的新版本2.0。

现在你可以这样做: mydecoderview.setTorchEnabled(true);

请在这里查看: https://github.com/dlazaro66/QRCodeReaderView

答案 1 :(得分:0)

您必须从库中修改QRCodeReaderView.java文件。用以下方法替换“surfaceCreated”方法:

@Override
public void surfaceCreated(SurfaceHolder holder) {
    boolean useFlash = true;

    try {
        // Indicate camera, our View dimensions
        mCameraManager.openDriver(holder,this.getWidth(),this.getHeight());
    } catch (IOException e) {
        Log.w(TAG, "Can not openDriver: "+e.getMessage());
        mCameraManager.closeDriver();
    }

    try {
        mQRCodeReader = new QRCodeReader();
        if (useFlash){
            Parameters p = cam.getParameters();
            p.setFlashMode(Parameters.FLASH_MODE_TORCH);
            mCameraManager.setParameters(p);
        }

        mCameraManager.startPreview();
    } catch (Exception e) {
        Log.e(TAG, "Exception: " + e.getMessage());
        mCameraManager.closeDriver();
    }
}