Android中生成二维码、扫描二维码并返回结果进行处理

来源:互联网 发布:2012年cba总决赛数据 编辑:程序博客网 时间:2024/06/16 00:10

1.根据传入的字符串生成二维码

部分代码如下:

 private Bitmap createQRImage(String downloadurl)    {        try {            BitMatrix bitMatrix = new QRCodeWriter().encode(downloadurl,                    BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT);            int[] pixels = new int[QR_WIDTH * QR_HEIGHT];            // 下面这里按照二维码的算法,逐个生成二维码的图片,            // 两个for循环是图片横列扫描的结果            for (int y = 0; y < QR_HEIGHT; y++) {                for (int x = 0; x < QR_WIDTH; x++) {                    if (bitMatrix.get(x, y)) {                        pixels[y * QR_WIDTH + x] = 0xff000000;                    } else {                        pixels[y * QR_WIDTH + x] = 0xffffffff;                    }                }            }            // 生成二维码图片的格式,使用ARGB_8888            Bitmap bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT,                    Bitmap.Config.ARGB_8888);            bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);            return bitmap;        } catch (Exception e) {            e.printStackTrace();        }        return null;    }

2.扫描二维码并处理结果

 public void handleDecode(Result result, Bitmap barcode) {        inactivityTimer.onActivity();        playBeepSoundAndVibrate();        String resultString = result.getText();        // FIXME        if (resultString.equals("")) {            Toast.makeText(CaptureActivity.this, "Scan failed!",             Toast.LENGTH_SHORT).show();        } else {            Intent resultIntent = new Intent();            resultIntent.putExtra("result", resultString);            setResult(250, resultIntent);        }        CaptureActivity.this.finish();    }

3.界面截图

这里写图片描述

4.Demo下载地址

http://download.csdn.net/detail/sanyang730/9550010

1 0
原创粉丝点击