2016-10-11 121 views
2

我用结果处理程序实现了QR码扫描器。它扫描得很好。但是,第一次扫描完成后,相机会卡住。如何实现QR码扫描码,以便相机继续扫描而不会卡住?zxing扫描二维码后,相机卡住了

我的代码如下所示:

public class SimpleScannerFragment extends Fragment implements ZXingScannerView.ResultHandler { 


private ZXingScannerView mScannerView; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.scannerview, null); 
    mScannerView = (ZXingScannerView) v.findViewById(R.id.scanner_view); 
    return v; 
} 

@Override 
public void onResume() { 

    super.onResume(); 
    mScannerView.startCamera(); 
    mScannerView.setResultHandler(this); 

} 


@Override 
public void handleResult(Result rawResult) { 
    ParsedResult parserdResult = ResultParser.parseResult(rawResult); 


    Toast.makeText(getActivity(), "Contents = " + rawResult.getText() + ", Format = " + rawResult.getBarcodeFormat().toString(), Toast.LENGTH_SHORT).show(); 
    } 

@Override 
public void onPause() { 
    super.onPause(); 
    mScannerView.stopCamera(); 

    } 
} 
+0

您还没有表现出任何代码或任何东西。根据这个描述,没有人可以说你做错了什么。 –

+0

请发布您的代码。 –

+0

我用片段来实现结果处理程序。我用onPause()和onResume()来启动和停止camera.finally静态添加片段中的活动 –

回答

3

根据手册(https://github.com/dm77/barcodescanner)刚刚恢复您cammera在处理程序:

@Override 
    public void handleResult(Result rawResult) { 
    ParsedResult parserdResult = ResultParser.parseResult(rawResult); 
    Toast.makeText(getActivity(), "Contents = " + rawResult.getText() + ", Format = " + rawResult.getBarcodeFormat().toString(), Toast.LENGTH_SHORT).show(); 
    mScannerView.resumeCameraPreview(this); 
} 
+0

即使我调用resumeCameraPreview(),摄像机视图也会卡住。即使我叫'stopCamera()'也没有任何反应。请帮忙 – viper