如何在安卓系统扫描二维码的同时进行图像采集?

How to capture the image simultaniously while scanning QR code in Android?(如何在安卓系统扫描二维码的同时进行图像采集?)
本文介绍了如何在安卓系统扫描二维码的同时进行图像采集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想扫描时捕获矩形括号内的二维码图像。我知道二维码图像可以很容易地生成和显示,但我的要求是显示与扫描的二维码图像完全相同的图像。

我尝试了以下代码:

scan_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                IntentIntegrator integrator = new IntentIntegrator(activity);
                integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
                integrator.setPrompt("Scan");
                integrator.setCameraId(0);
                integrator.setBeepEnabled(false);
                integrator.setBarcodeImageEnabled(false);
                integrator.initiateScan();
            }
        });

.....

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
        if (result != null){
            Bitmap btm = (Bitmap) data.getExtras().get("data");

            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            btm.compress(Bitmap.CompressFormat.PNG, 100, stream);
            image.setImageBitmap(btm);
            if(result.getContents() == null){

                android.widget.Toast.makeText(this, "You cancelled the scanning", Toast.LENGTH_LONG).show();
            }
            else {
                android.widget.Toast.makeText(this, result.getContents(), Toast.LENGTH_LONG).show();
            }

        }
        else {
            super.onActivityResult(requestCode, resultCode, data);
        }
    }

但我得到的位图为空值。

推荐答案

onActivityResult中使用以下代码获取图像

String path = data.getStringExtra("SCAN_RESULT_IMAGE_PATH");
File file = new File(path);
Bitmap myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());

这篇关于如何在安卓系统扫描二维码的同时进行图像采集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)