如何在安卓系统扫描二维码的同时进行图像采集? [英] How to capture the image simultaniously while scanning QR code in Android?

查看:24
本文介绍了如何在安卓系统扫描二维码的同时进行图像采集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

我尝试了以下代码:

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());

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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆