Qrcode扫描仪不间断扫描

时间:2018-05-27 09:00:23

标签: android barcode-scanner

在我的应用程序中,QR代码扫描程序用作下一页的意图。 现在问题是每当QR码出现在我的相机前面时,它会继续扫描并打开许多相同的页面。 (sry,我的英语不好,希望你们能理解这种情况)。

我希望它只扫描一次,只为我打开一页。

这是我的代码:

barcodeDetector.setProcessor(new Detector.Processor<Barcode>() {
    @Override
    public void release() {

    }

    @Override
    public void receiveDetections(Detector.Detections<Barcode> detections) {
        final SparseArray<Barcode> qrcodes = detections.getDetectedItems();
        if(qrcodes.size() != 0)
        {
            txtResult.post(new Runnable() {
                @Override
                public void run() {
                    //Create vibrate
                    Vibrator vibrator = (Vibrator)getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
                    vibrator.vibrate(1000);
                    txtResult.setText(qrcodes.valueAt(0).displayValue);

                    Intent intent = new Intent(User.this,Menu.class);
                    startActivity(intent);
                }
            });
        }
    }
});

有人可以帮我解决吗?

2 个答案:

答案 0 :(得分:0)

之后

txtResult.setText(qrcodes.valueAt(0).displayValue);

添加以下内容:

cameraPreview.setVisibility(View.GONE);
cameraSource.stop();

答案 1 :(得分:0)

打开新活动后比仅完成当前活动更多。像这样

Intent intent = new Intent(User.this,Menu.class);
startActivity(intent);
finish();

希望这会有所帮助。