在我的应用程序中,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);
}
});
}
}
});
有人可以帮我解决吗?
答案 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();
希望这会有所帮助。